正しい HTTP 応答のみをフォーマットできるライブラリが必要です (Web サーバーを既に持っているため、Web サーバーを作成する必要はありません)。
http 応答の本文とコンテンツ タイプをこのライブラリに渡す必要があります。
AJAX を送信しようとすると、次の関数が正しく動作しません - jQuery が応答を見つけられません。ただし、ブラウザの URL 文字列に対応する URL を入力すると、ページが表示されます。
def response( data ):
return "HTTP/1.0 200 OK\r\nContent-Type:application/json\r\nConnection:close\r\n\r\n{0}\r\n".format( data )
詳細. データ変数はjsonの文字列です。また、SocketServer クラスを使用し、子の handle() 関数で self.request.sendall( result_response ) を呼び出します。
# the 'request handler' class
class StateRequestHandler( SocketServer.BaseRequestHandler ):
def handle( self ):
...
self.request.sendall( response( some_json ) )
# the configured server class
class StateServer( SocketServer.ThreadingMixIn, SocketServer.TCPServer ):
pass
解決しました。その理由は、クロスドメイン リクエストにありました。