我看到过一些类似的问题,但是我尝试实施它们的解决方案,却没有成功。
我正在尝试使用POST发送一个基本的AJAX请求到Django视图。以下是我的jQuery代码:
$('#save-button').click(function() {
var names = ['BLOGGS Joe', 'SMITH John'];
data = JSON.stringify(names);
$.ajax({
"contentType": "application/json; charset=utf-8",
"data": data,
"url" : "/ajax/myteam/save/",
"type": "POST",
"success": function(response) {
}
});
});
这是我的Django视图:
def myteam_save(request):
if request.method == 'POST':
if request.POST:
print 'Hurray'
else:
print 'Boo'
response = HttpResponse(json.dumps({'code':'ok'}), content_type='application/json')
return response
当我检查Firebug中发生的情况时,我发现我的帖子正在按照我的意愿进行,但是从request.POST中获得的QueryDict对象始终为空。
我认为我已经小心地处理了csrf令牌,甚至尝试在设置中关闭'django.middleware.csrf.CsrfViewMiddleware',但似乎没有效果。
我做错了什么?
感谢您的帮助!
dataType:'json'
来告诉success function
将response
视为可解析的 JSON 对象。至于 Django 响应...请直接访问页面,调试直到获得输出,验证输出确实是 JSON。 - Ohgodwhy