在python Bottle中接收JSON

时间:2014-12-08 17:24:01

标签: python json bottle

我正在尝试向我的Bottle服务器发送JSON帖子。

from bottle import request, route, run
@route('/feedback', method='POST')
def feedback():
    data = request.json
    print data

run(host='localhost',port=8080)

在客户端,我有

$('#user_feedback').submit(function() {
  var feedback = {"id": 1}
  $.ajax({
     type: "POST",
     url: "http://localhost:8080/feedback",
     data: feedback
 });
 return false;
});

我在这里返回false,因为我不希望页面被重定向。

但是,打印出来时,我在Bottle服务器中收到的data始终为None。 请帮忙。谢谢。

1 个答案:

答案 0 :(得分:2)

request.json期望请求的内容类型为application/json。 为了使其有效,您应该将请求的contentType属性设置为application/json并对您的数据进行字符串化:

$.ajax({ 
    type:"POST",
    contentType: "application/json",
    url:"/feedback",
    data: JSON.stringify(feedback)
});