如何使用CORS策略来解决跨域请求
时间: 2024-01-20 16:04:19 浏览: 126
CORS(Cross-Origin Resource Sharing)是一种机制,用于在跨域请求中允许服务器端资源被访问。通常情况下,浏览器会阻止跨域请求,但是在使用CORS策略后,浏览器会发送一个预检请求(preflight request)来检查服务器是否允许跨域请求访问。
在服务器端,可以通过设置响应头来允许跨域请求。以下是一个简单的Node.js服务器端示例:
```javascript
const http = require('http');
const server = http.createServer((req, res) => {
if (req.method === 'OPTIONS') {
res.writeHead(204, {
'Access-Control-Allow-Origin': '*', //设置允许跨域访问的域名
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', //允许请求的方法
'Access-Control-Allow-Headers': 'Content-Type, Authorization' //允许请求的头部信息
});
res.end();
} else {
//处理其他请求逻辑
}
});
server.listen(8080, () => {
console.log('Server is running at http://localhost:8080');
});
```
在以上示例中,我们设置了允许跨域访问的域名为任意域名('Access-Control-Allow-Origin': '*'),允许请求的方法为GET、POST、PUT、DELETE以及OPTIONS('Access-Control-Allow-Methods'),允许请求的头部信息为Content-Type和Authorization('Access-Control-Allow-Headers')。
当客户端发送跨域请求时,浏览器会首先发送一个OPTIONS请求,该请求的响应头中包含了以上设置信息,服务器端成功响应后,客户端才能发送真正的跨域请求。
阅读全文
相关推荐
















