0

次の方法で App Engine にデータを投稿しようとしています。

sendMessage = function(path, data) {
    $.ajax({
        type: "POST", 
        url: path, 
        data: data, 
        contentType: "application/json",
        dataType: "json",
        failure: function(errMsg) { 
            alert(errMsg);
        },
        success: function(result,status,xhr){
            alert(result);
        }
    });
};
sendMessage('/chatMessage', {"message": "aaaa"});

受信コード:

class ChatMessage(webapp2.RequestHandler):

    def post(self):
        user = users.get_current_user()
        message = self.request.get("message", "fail")
        logging.error('RequestBody:' + str(self.request.body))
        logging.error('Message:' + message)

ログメッセージ:

ERROR    2013-05-18 16:23:31,954 channels.py:52] RequestBody:message=aaaa
ERROR    2013-05-18 16:23:31,956 channels.py:53] Message:fail
INFO     2013-05-18 18:23:31,983 server.py:585] default: "POST /chatMessage HTTP/1.1" 200 2

明らかに、メッセージはそのままサーバーに届きましたがmessage=aaaa、リクエストからメッセージを「取得」できないのはなぜですか?

4

1 に答える 1

0

POST リクエストを発行すると、データを URL にエンコードするか、データをリクエストの本文に入れることができます。

request.get()URLでurlencodedパラメータを取得します。

あなたの場合、リクエストの本文にデータを入れているので、すべてが正常に機能しています。データが必要な場合は、リクエスト本文から解析する必要があります。

于 2013-05-18T17:21:15.943 に答える