首页 > 解决方案 > 在 django 中,如何在 javascript 中使用 XMLHttpRequest 发送 json 对象

问题描述

请帮助我如何发送 json 对象并在 django 中接收它的 views.py。

我的脚本:

var obj={ 'search_name':search_name,'search_email':search_email };
jsonobj=JSON.stringify(obj);
//alert(jsonobj);
var xhr=new XMLHttpRequest();
xhr.open('POST',"viewprofile",true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.send(jsonobj);

标签: javascriptpythondjangoxmlhttprequest

解决方案


在纯 JavaScript 中使用 XMLHttpRequest()。

XMLHttpRequest 是一个 API,它提供了在客户端和服务器之间传输数据的客户端功能。

xhr = new XMLHttpRequest();
var url = "url";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.onreadystatechange = function () { 
    if (xhr.readyState == 4 && xhr.status == 200) {
        var json = JSON.parse(xhr.responseText);
        console.log(json.email + ", " + json.name)
    }
}
var data = JSON.stringify({"email":"tomb@raider.com","name":"LaraCroft"});
xhr.send(data);

使用 AJAX 调用(首选方式)

    $.ajax({
        url: "https://youknowit.com/api/",
        type: "POST",
        data: { apiKey: "23462", method: "POST", ip: "208.74.35.5" },
        dataType: "json",
        success: function (result) {
            switch (result) {
                case true:
                    processResponse(result);
                    break;
                default:
                    resultDiv.html(result);
            }
        },
        error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
        }
    });

注意:密切关注开发人员工具或 firebug XHR 调试过程是了解更多关于任何技术中的 api 调用的好方法。


推荐阅读