[英]Posting JSON to Django views with AJAX
我正在尝试将 JSON 对象从我的客户端 Javascript 发布到我的 Django 视图。
尝试发布时收到“500(内部服务器错误)”。 这与CSRF令牌有关吗? 我怎样才能解决这个问题?
我的 AJAX
$.ajax({
type: 'POST',
dataType: 'json',
url: '/demo/saved/',
data: {'data': JSON.stringify(finalSelection)},
success: function() {
console.log("Success")
}
});
视图.py
def show(request):
data = json.loads(request.POST.get('data', ''))
context = {
'data': data
}
return render(request, 'bill/saved.html', context )
网址.py
urlpatterns = [
path('bill/', views.bill_view, name = 'bill-view'),
path('saved/', views.show, name = 'selected-view'),
]
感谢任何帮助!
假设它确实是您提到的 CSRF 问题,因为您没有发布 500 错误输出,您可以简单地将 csrf 令牌添加到您在 POST 请求中发送的data
中:
$.ajax({
...
data: {
'data': JSON.stringify(finalSelection),
'csrfmiddlewaretoken': '{{ csrf_token }}'
},
...
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.