サーバーで処理するために、いくつかのjsonデータの本文で投稿リクエストを送信しています。結果は、jsonデータの形式でクライアント(電話のc ++アプリ)に返され、モバイルで解析されます。ハンドラー内に次のコードがあります。
class ServerHandler(tornado.web.RequestHandler):
def post(self):
data = tornado.escape.json_decode(self.request.body)
id = data.get('id',None)
#process data from db (take a while) and pack in result which is dictinary
result = process_data(id)# returns dictionary from db= takes time
print 'END OF HANDLER'
print json.dumps(result)
#before this code below I have tried also
#return result
#return self.write(result)
#return self.write(json.dumps(result))
#return json.dumps(result)
self.set_header('Content-Type', 'application/json')
json_ = tornado.escape.json_encode(result)
self.write(json_)
self.finish()
#return json.dumps(result)
私はいつもコンソールで以下を印刷'END OF HANDLER'
しvalid dictinary/json
ますが、クライアントモバイルで読むといつも
<html><title>405: Method Not Allowed</title><body>405: Method Not Allowed</body></html>
誰かがバグが何であるかを知っていますか?
(私はリクエストの送信にCIwGameHttpRequestを使用しており、ファイルがstatic => name.jsonの場合に機能しますが、同じコンテンツがポストリクエストでエラーを出します。)