正常情况下,我们可以向服务器发送ajax请求或提交表单,HTTP request body
将按此name=helloworld&age=123
进行编码。
现在我们的服务器only accept JSON data
作为请求体,有没有办法在Javascript中更改请求体的编码方法?
答案 0 :(得分: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);
}