当前位置:  开发笔记 > 编程语言 > 正文

Django中的空queryDict

如何解决《Django中的空queryDict》经验,为你挑选了2个好方法。

我是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,请参阅此答案.



1> gitaarik..:

您正在请求正文中发送数据:

xmlhttp.send(JSON.stringify(parameters));

这些数据将最终出现在request.body.

这与POST一个HTML表单不同,因此它不会最终出现在request.POST.如果要模拟HTML表单POST,请参阅此答案.



2> justcompile..:

应隐藏您的JSON对象,request.body以便您可以访问该对象的属性:

request.body["username"]
request.body["password"]

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有