2013-05-18 3 views
0

나는 다음과 같은 방식으로 앱 엔진에 데이터를 게시하려고 해요 :은 응용 프로그램 엔진에 포스트 데이터를 읽을 수 없습니다

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 이래로 서버에 그대로 남아 있습니다.하지만 왜 내가 메시지를 "받을 수 없습니까" 요청?

답변

0

POST 요청을 실행하면 데이터를 URL로 인코딩하거나 데이터를 요청 본문에 넣을 수 있습니다.

request.get()은 URL에 urlencoded 매개 변수를 가져옵니다.

귀하의 경우 귀하는 요청 본문에 데이터를 넣으므로 모든 것이 올바르게 작동합니다. 데이터를 원하면 요청 본문에서 파싱해야합니다.

관련 문제