JavaScript:如何将任意请求正文发布到服务器?

问题描述 投票:1回答:1

正常,我们可以发送Ajax请求或向服务器提交表单,在HTTP请求正文中,其编码应如下所示:name=helloworld&age=123

现在我们的服务器仅接受JSON数据作为请求正文。有没有办法在JavaScript中更改请求主体的编码方法?

javascript http
1个回答
3
投票

HTML表单为您提供了三种编码数据的选项。 text/plain仅对调试有用(即使使用给定的浏览器开发人员工具也不太有用),另外两个都不是JSON。

使用XHR,但是编码是对数据进行编码。 send方法可以采用字符串。您可以根据需要在该字符串中编码数据。

function sendJSON() {
    var data = {
        name: "helloworld",
        age: 123
    };

    var json = JSON.stringify(data);

    var xhr = new XMLHttpRequest();
    xhr.open("POST", "/example/");
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.send(json);
}
© www.soinside.com 2019 - 2024. All rights reserved.