js发送post请求传参body类型
时间: 2024-09-11 18:05:08 浏览: 36
在JavaScript中,发送POST请求通常会涉及到`XMLHttpRequest`、`fetch API`或者是axios这样的库。当你需要通过POST方式传递数据到服务器,并希望将数据作为请求体(body),你可以这样做:
1. **使用XMLHttpRequest**:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('POST', 'your-api-url');
xhr.setRequestHeader('Content-Type', 'application/json'); // 如果数据是JSON
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log(xhr.responseText);
}
};
var data = { key: 'value' }; // 或者其他格式的数据
xhr.send(JSON.stringify(data)); // 数据需转换成JSON字符串形式
```
2. **使用fetch API**:
```javascript
fetch('your-api-url', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ key: 'value' }) // 同样是JSON格式的数据
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
3. **使用axios库**:
```javascript
axios.post('your-api-url', { key: 'value' }, {
headers: {
'Content-Type': 'application/json'
}
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
```
以上示例中,`Content-Type`头部指定了数据格式,通常是`application/json`,如果你的数据是键值对或者其他格式,可能会选择`application/x-www-form-urlencoded`。