如何解决使用ajax向django服务器发送数据的问题
我正在尝试将一些 ajax 数据发送到我的 Django 服务器,但遇到一个错误,我在调试时遇到了困难:
从 None 引发 JSONDecodeError("Expecting value",s,err.value)
json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)。
这是我的脚本,也是我的 Django 视图的一部分。
function UpdateUserResponse(productId,action,count) {
$.ajax({
url: "/updateitem/",method: "post",headers: { 'Content-Type':'application/json',"X-CSRFToken": csrftoken },dataType: "JSON",body: JSON.stringify({
productId : productId,action: action,count: count
}),success: response => {
console.log("not relevant to this problem");
}
});
}
以及我如何尝试在我的视图中接收数据
def updateitem(request) :
data =json.loads(request.body)
productId=data['productId']
action = data['action']
count = data['count']
非常感谢您的帮助
解决方法
你的ajax请求格式无效。应该如下。
function UpdateUserResponse(productId,action,count) {
$.ajax({
url: "/updateitem/",method: "post",headers: { 'Content-Type':'application/json',"X-CSRFToken": csrftoken },dataType: "JSON",data: {
'productId' : productId,'action': action,'count': count
),success: function(response) {
console.log('Response',response);
console.log("not relevant to this problem");
},error : function(xhr,errMsg,err) {
}
});
}
在您看来,您将按如下方式访问请求。
def updateitem(request) :
if request.method == 'POST':
productId = request.POST.get('productId')
action = request.POST.get('action')
count = request.POST.get('count')
response_data = {}
# Your update item to db code goes here
# Once update done return response
response_data['result'] = 'Update item successful!'
return HttpResponse(
json.dumps(response_data),content_type="application/json"
)
else:
您的控制台输出将是,
Response,{result: "Update item successful!"}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。