webapp2 post 请求未通过 POSTMAN 接受 json
webapp2 post request is not accepting json through POSTMAN
这是我的 webapp2 代码
class SendMessage(webapp.RequestHandler):
def post(self):
messageToId = self.request.POST.get("messageToId")
message = self.request.POST.get("message")
logging.info(messageToId)
当我使用
在 html 中使用上述方法时
var url = 'http://myapp.appspot.com/sendmessage';
var messageToId = document.getElementById("messageToId").value;
var message = document.getElementById("message").value;
var jsonDta = {
messageToId : messageToId,
message : message
};
$.post(url, jsonDta, function(data, status) {
});
当我用 postman(selected post request -> raw data -> JSON/application) 尝试时,它正在工作 fine.But 然后它无法获取 json 数据并在开发者控制台中打印 None。有什么问题?
在您的示例中,您没有在 post 中使用 json 负载。
这是一个正常的形式 post。要 post json 你必须 JSON.stringify(jsonDta)
如果您发送 json,您的处理程序如下所示:
import json
....
class SendMessage(webapp.RequestHandler):
def post(self):
json_string = self.request.body
dict_object = json.loads(json_string)
messageToId = dict_object['messageToId']
message = dict_object.get('message', default='')
logging.info(messageToId)
这是我的 webapp2 代码
class SendMessage(webapp.RequestHandler):
def post(self):
messageToId = self.request.POST.get("messageToId")
message = self.request.POST.get("message")
logging.info(messageToId)
当我使用
在 html 中使用上述方法时 var url = 'http://myapp.appspot.com/sendmessage';
var messageToId = document.getElementById("messageToId").value;
var message = document.getElementById("message").value;
var jsonDta = {
messageToId : messageToId,
message : message
};
$.post(url, jsonDta, function(data, status) {
});
当我用 postman(selected post request -> raw data -> JSON/application) 尝试时,它正在工作 fine.But 然后它无法获取 json 数据并在开发者控制台中打印 None。有什么问题?
在您的示例中,您没有在 post 中使用 json 负载。
这是一个正常的形式 post。要 post json 你必须 JSON.stringify(jsonDta)
如果您发送 json,您的处理程序如下所示:
import json
....
class SendMessage(webapp.RequestHandler):
def post(self):
json_string = self.request.body
dict_object = json.loads(json_string)
messageToId = dict_object['messageToId']
message = dict_object.get('message', default='')
logging.info(messageToId)