要发送未经URL编码的JSON数据,可以使用AJAX的POST方法和JSON.stringify()
函数来实现。
示例代码如下:
var data = { name: "John", age: 30 };
var jsonData = JSON.stringify(data);
var xhr = new XMLHttpRequest();
xhr.open("POST", "your-url", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功处理逻辑
console.log(xhr.responseText);
}
};
xhr.send(jsonData);
在上面的示例中,我们首先定义了一个包含数据的对象data
,然后使用JSON.stringify()
函数将其转换为JSON格式的字符串jsonData
。
接下来,我们创建了一个XMLHttpRequest对象xhr
,并使用open()
方法指定了请求的方法、URL和异步标识。
通过setRequestHeader()
方法设置请求头的Content-Type
为application/json
,以告知服务器请求发送的是JSON数据。
然后,我们定义了onreadystatechange
事件处理程序,用于在请求状态改变时执行逻辑。在请求完成且成功时,我们可以通过xhr.responseText
获取服务器返回的响应数据。
最后,我们通过send()
方法发送请求,并将JSON数据作为参数传递给它。
请注意,上述示例中的your-url
应替换为实际的目标URL。