javascrip写发送http post请求的代码,XMLHttpRequest
时间: 2023-06-01 16:07:06 浏览: 103
对象和fetch API的区别是什么?
JavaScript可以通过XMLHttpRequest对象和fetch API来向服务器发送HTTP请求。XMLHttpRequest是ajax传输中最重要的部分之一,而fetch API是XMLHttpRequest的最新替代方案。
XMLHttpRequest对象与fetch API的主要区别是它们如何处理响应返回。XMLHttpRequest对象使用回调函数或事件侦听器处理响应,而fetch API使用Promise进行处理。此外,fetch API支持全局fetch()方法,可以全局使用,而XMLHttpRequest对象必须在每个使用它的JavaScript文件中进行实例化。
以下是JavaScript使用XMLHttpRequest对象发送POST请求的示例代码:
```
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://example.com/api');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if(xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
}
xhr.send(JSON.stringify({key: 'value'}));
```
以上代码说明了如何创建XMLHttpRequest对象并使用POST方法向服务器发送JSON数据。在设置请求头和回调函数后,使用`send()`方法发送请求并在成功完成后将响应文本打印到控制台。
对于使用fetch API发送HTTP POST请求,您可以使用以下代码:
```
fetch('https://example.com/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({key: 'value'})
})
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.log(error));
```
以上代码说明了如何使用fetch API发送HTTP POST请求。在请求选项中,通过`method`选项指定请求方法,`headers`选项设置请求头,`body`选项设置请求体。发送请求后,使用Promise处理响应。通过`text()`方法获取响应文本,处理完毕后打印到控制台。
阅读全文