Django开发之Ajax 返回内容报错

时间:2021-10-08 21:19:28

预期效果

Django通过Ajax POST提交数据,前台弹窗处理结果

粗略代码

# views.py 代码
...省略...
msg = {
'code': 200,
'message': 'Hello World'
}
...省略...
return HttpResponse(json.dumps(msg), content_type='application/json') # hello.html 代码
...省略...
success: function (res) {
var jsondata = JSON.parse(res);
alert(jsondata.message);
}
...省略...

问题现象

Django通过Ajax POST提交数据,views视图通过HttpResponse返回结果,在返回结果前使用了 json.dumps 方法,结果:前台无任何反应。打开F12查看,在Console中出现报错:

...省略...
Unexpected token o in JSON at position 1
...省略...

调整代码

通过调整代码,发现前台弹窗内容为: [Object Object]

# hello.html 代码
...省略...
success: function (res) {
alert(res);
}
...省略...

问题解决

调整最终代码,修改为 alert(res.message); 问题解决

# hello.html 代码
...省略...
success: function (res) {
alert(res.message);
}
...省略...