js使用cors发送json数据,并接收json数据
时间: 2024-04-28 20:18:40 浏览: 127
要使用CORS(跨域资源共享)发送JSON数据并接收JSON数据,需要在服务端设置允许跨域访问,然后在前端使用XMLHttpRequest(XHR)对象或Fetch API发送请求。
以下是使用XHR对象发送JSON数据并接收JSON数据的示例代码:
```javascript
const xhr = new XMLHttpRequest();
const url = 'https://example.com/api/data';
const data = { name: 'John', age: 30 };
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if(xhr.readyState === 4 && xhr.status === 200) {
const responseData = JSON.parse(xhr.responseText);
console.log(responseData);
}
};
xhr.send(JSON.stringify(data));
```
在这个例子中,我们使用XHR对象向https://example.com/api/data发送一个POST请求,并发送JSON数据。我们设置请求头Content-Type为application/json,告诉服务端我们发送的是JSON数据。我们还使用JSON.stringify方法将JavaScript对象转换为JSON字符串。在响应中,我们使用JSON.parse方法将JSON字符串转换为JavaScript对象并打印输出。
Fetch API也可以用来发送CORS请求并接收JSON数据,示例代码如下:
```javascript
const url = 'https://example.com/api/data';
const data = { name: 'John', age: 30 };
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(responseData => console.log(responseData))
.catch(error => console.error(error));
```
在这个例子中,我们使用Fetch API向https://example.com/api/data发送一个POST请求,并发送JSON数据。我们设置请求头Content-Type为application/json,告诉服务端我们发送的是JSON数据。我们还使用JSON.stringify方法将JavaScript对象转换为JSON字符串。在响应中,我们使用response.json()方法将响应体转换为JavaScript对象并打印输出。在这个例子中,我们还使用了Promise来处理响应。
阅读全文