我是django的新手.我正在创建一个将用户数据发布到Django服务器的简单应用程序.但是我遇到了关于queryDict的问题.它是空的.代码是:
@csrf_exempt def create_user(request): """ This function creates users :param request: post request from front-end :return: success/failure """ if request.method == 'POST': #x = json.loads(request.POST) print(request.POST) return JSONResponse(request.POST)
POST请求是:
function post(){ xmlhttp = new XMLHttpRequest(); var url = "http://127.0.0.1:8000/create_user/"; xmlhttp.open("POST", url, true); //xmlhttp.setRequestHeader("Content-type", "application/json"); xmlhttp.onreadystatechange = function () { //Call a function when the state changes. if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { alert(xmlhttp.responseText); } } var parameters = { "username": "myname", "password": "mypass" }; xmlhttp.send(JSON.stringify(parameters)); }
gitaarik.. 10
您正在请求正文中发送数据:
xmlhttp.send(JSON.stringify(parameters));
这些数据将最终出现在request.body
.
这与POST一个HTML表单不同,因此它不会最终出现在request.POST
.如果要模拟HTML表单POST,请参阅此答案.
您正在请求正文中发送数据:
xmlhttp.send(JSON.stringify(parameters));
这些数据将最终出现在request.body
.
这与POST一个HTML表单不同,因此它不会最终出现在request.POST
.如果要模拟HTML表单POST,请参阅此答案.
应隐藏您的JSON对象,request.body
以便您可以访问该对象的属性:
request.body["username"] request.body["password"]