[英]XMLHttpRequest is not sending POST data to Django server
Javascript 通过 XMLHttpRequest 发送数据
csrftoken = getCookie('csrftoken');
var request = new XMLHttpRequest();
request.open('POST', '/register');
request.setRequestHeader("X-CSRFToken", csrftoken);
request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
request.send("data");
Django 视图:
def register_user(request):
if request.method == "POST":
print("django server")
print(request.POST)
服务器正在打印:
django server
<QueryDict: {}>
我也将 application/json 作为带有 json 数据的内容类型,但这也不起作用。 数据似乎没有被传递到服务器。 不知道为什么。
请求实际上正在发送。 这是访问数据的方法:
def register_user(request):
if request.method == "POST":
print(request.body) # this would print "data"
为了使 print(request.POST) 工作,Content-Type 必须是 'application/x-www-form-urlencoded'
试试这个对我有用
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
@csrf_exempt
def register_user(request):
if request.is_ajax():
status = "1"
else:
status = "0"
return HttpResponse(status)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.