js发送post请求 json格式数据
时间: 2023-03-26 09:03:22 浏览: 182
可以使用XMLHttpRequest对象或者fetch API发送POST请求,同时将JSON格式的数据作为请求体发送。例如:
```
var xhr = new XMLHttpRequest();
xhr.open('POST', 'url', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
var data = {key1: 'value1', key2: 'value2'};
xhr.send(JSON.stringify(data));
```
或者使用fetch API:
```
fetch('url', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({key1: 'value1', key2: 'value2'})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
相关问题
js发送post请求json格式
以下是一个示例代码,使用JavaScript发送POST请求并传递JSON格式的数据:
```javascript
const data = {
name: "John",
age: 30,
city: "New York"
};
fetch('/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
在这里,我们使用了`fetch`函数来发送POST请求。我们需要传递两个参数- URL和一个对象。
在对象中,我们指定了以下属性:
- `method`: 请求的方法,这里是POST。
- `headers`: 包含请求头的对象,我们设置了Content-Type为application/json。
- `body`: 请求体,我们将JavaScript对象转换为JSON字符串后传递。
在请求完成后,我们使用`.then()`方法来解析响应。我们首先将响应转换为JSON格式,然后将其打印到控制台中。
如果请求失败,则会在控制台中记录错误。
ajax发送post请求json格式
Ajax全称为Asynchronous JavaScript and XML,是一种在无需刷新整个网页的情况下,通过JavaScript向服务器发送异步请求并处理响应的技术。当需要发送POST请求携带JSON数据时,通常的做法如下:
1. 创建XMLHttpRequest对象或使用更现代的Fetch API:
```javascript
const xhr = new XMLHttpRequest();
// 或者
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
key1: value1,
key2: value2
})
});
```
2. 设置请求头和方法:
- `Content-Type` 设置为 `application/json` 表示发送的数据是JSON格式。
3. 发送请求:
```javascript
xhr.open('POST', url);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() { ... };
xhr.send(JSON.stringify(data));
```
4. 接收服务器响应:
在`onload`函数中解析返回的JSON数据,并做相应的处理。
阅读全文