【发布时间】:2012-01-29 10:48:20
【问题描述】:
我已经为此苦苦思索了大约一个半小时。所以,我正在通过 $.ajax 发送一个表单,并期待来自 django 的 json 响应。
在前端,js是这样的
$.ajax({
"type" : "POST",
"url" : action,
"dataType" : "json",
"data" : serialized_form,
"success" : function (data) {
alert('hey')
console.log(data);
//$("#add_shipping").submit();
},
"error" : function (data) {
alert(data)
}
});
在后端,django 返回一个 HttpResponse 对象,里面塞满了序列化的 json 像这样->
redirectUrl = '/user/purchase/' + str(purchase.pk) + '/'
response_data = {}
response_data['redirect'] = redirectUrl
response_data['status'] = 200
rsp = HttpResponse(simplejson.dumps(response_data))
rsp["CONTENT-TYPE"] = "application/json"
return rsp
当 jQuery 得到响应时,它并没有像我要求的那样将它记录到控制台,它只是在浏览器中显示由 pre 标记包围的格式化 json。我猜这可能与我的 Content-type 标头有关,但据我所知,它正在响应“application/json”。谁能想到我可能做错了什么?谢谢!
【问题讨论】: