javascript - 无法从 JS AJAX 将数据发送回 Django
问题描述
html-javascript
var csrftoken = $('[name="csrfmiddlewaretoken"]').val();
$('#Save').click(function () {
var ajaxdata = {
exam: $('#Exam').val()
};
$.ajax({
url: '/save',
type: 'POST',
dataType: 'json',
data: JSON.stringify(ajaxdata),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
"X-CSRFToken": csrftoken
},
credentials: 'include',
success: function () {
alert(ajaxdata);
console.log(ajaxdata);
},
error:function (xhr, ajaxOptions, thrownError){
console.log(ajaxdata);
}
});
}
视图.py
import json
from django.http import HttpResponse
def save(request=request):
data = json.loads(request.body)
testexam = data['exam']
testexam = request.POST.get('exam')
testobj = MyObject.objects.filter(name="David").first()
testobj.Exam = testexam
testobj.save()
return HttpResponse(json.dumps({"success": True}), content_type="application/json")
这些是我现在的 html 和视图。
删除了“烧瓶”部分。
data = json.loads(request.body)
让我成功接收数据!
仍然不太明白为什么“ request.POST ”不起作用。
如果我设法知道原因,我会稍后回来更新!
感谢您的意见和有用的建议!
解决方案
无需使用烧瓶。
这就是我接收数据的方式:
data = json.loads(request.body)
一切都很好!
感谢大家的意见、建议、回答!非常感谢!
推荐阅读
- omnet++ - 拓扑变化:星形到层次?
- php - 将返回数组存储到新变量中
- fortran - 是否有与在 Python 中解压缩参数列表的 Fortran 等价物?
- java - 如何将数组中的字符串更改为整数
- r - 如何在R中从一个具有多个条件的数据帧创建多个数据帧
- javascript - 在 waituntil 方法 webdriver.io 上返回 true 或 false
- webpack - 无法使用电子生成器找到依赖关系(node-pre-gyp)
- python - 关于 Python 中决策树代码中的索引的问题
- unit-testing - SilverStripe Sapphire 对 POST 请求的功能测试始终返回 404 状态
- ios - 我收到错误“线程 1:EXC_BREAKPOINT (code=1, subcode=0x102d3c320)”我该如何解决?