置跨域-请求后端的接
时间: 2024-10-12 14:11:45 浏览: 21
在Web应用程序中,由于同源策略(Same-Origin Policy)的规定,浏览器通常会限制来自不同源的脚本、图片等资源的访问。如果你需要在一个域名下的页面(前端)向另一个域名下的服务器(后端)发送AJAX请求或者使用fetch API,这就涉及到跨域(Cross-Origin Resource Sharing, CORS)的问题。
CORS允许服务器明确指定哪些来源的请求可以访问其资源。前端通过设置`XMLHttpRequest`或者fetch请求的`withCredentials`属性,并在后端服务器上设置响应头`Access-Control-Allow-Origin`,来启用跨域。例如:
```javascript
// 前端发起跨域请求
fetch('https://api.example.com/data', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your-token'
},
credentials: 'include' // 如果有敏感信息需要传递
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
// 后端设置响应头
// server.js 或 express.js 中
res.setHeader('Access-Control-Allow-Origin', 'http://your-front-end-domain.com');
```
如果后端允许特定的源,比如所有的源(*),则可以写成`Access-Control-Allow-Origin: *`;如果是单个源,则写明具体的URL。
阅读全文