无法读取应用引擎中的帖子数据

时间:2013-05-18 16:30:13

标签: google-app-engine python-2.7

我正在尝试以下列方式将数据发布到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但是为什么我不能“获取”来自请求的消息?

1 个答案:

答案 0 :(得分:0)

发出POST请求时,您可以将数据编码到URL中,也可以将数据放入请求正文中。

request.get()会在网址中获取urlencoded参数。

在您的情况下,您将数据放在请求的正文中,因此一切正常。如果您需要数据,则应该从请求正文中解析它。