前端ajax发post请求跨域
时间: 2023-10-06 09:06:50 浏览: 96
前端使用 AJAX 发送 POST 请求跨域时,需要注意以下几点:
1. 跨域请求需要服务器端设置响应头的 CORS(跨域资源共享)规则。服务器端需要设置 `Access-Control-Allow-Origin` 头部字段,允许来自指定域名的请求访问。
2. 在发送 AJAX 请求时,需要设置 `XMLHttpRequest` 对象的 `withCredentials` 属性为 `true`,以便携带跨域请求中的身份凭证(如 Cookie、HTTP 认证等)。
下面是一个使用 AJAX 发送跨域 POST 请求的示例代码:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://example.com/api', true);
xhr.withCredentials = true; // 携带身份凭证
xhr.setRequestHeader('Content-Type', 'application/json'); // 设置请求头
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
// 请求成功
console.log(xhr.responseText);
} else {
// 请求失败
console.log('Error: ' + xhr.status);
}
}
};
var data = {
key1: 'value1',
key2: 'value2'
};
xhr.send(JSON.stringify(data)); // 发送 JSON 格式的数据
```
请注意,以上示例中的 `'http://example.com/api'` 是一个示意的域名和路径,你需要将其替换为你实际请求的目标地址。另外,服务器端也需要进行相应的配置才能支持跨域请求。
阅读全文