No ‘Access-Control-Allow-Origin‘ header is present on the requested resource
时间: 2024-01-10 12:21:29 浏览: 86
解决方案 ‘Access-Control-Allow-Origin’ header in the response must not be the wildcard ‘*’
5星 · 资源好评率100%
No ‘Access-Control-Allow-Origin‘ header is present on the requested resource是一个常见的跨域访问错误。它表示在请求的资源上没有设置Access-Control-Allow-Origin头部,导致浏览器拒绝访问该资源。
解决这个问题的方法有几种:
1. 在服务器端设置Access-Control-Allow-Origin头部,允许特定的域名访问资源。例如,在Node.js中,可以使用以下代码设置头部:
```javascript
response.setHeader('Access-Control-Allow-Origin', 'http://example.com');
```
2. 如果你无法在服务器端进行设置,可以尝试使用代理服务器。通过将请求发送到代理服务器,然后由代理服务器转发请求并添加Access-Control-Allow-Origin头部,可以解决跨域访问问题。
3. 另一种解决方法是在客户端使用JSONP(JSON with Padding)来获取数据。JSONP通过动态创建一个<script>标签,将请求发送到服务器,并在响应中包含回调函数的调用。这样可以绕过浏览器的同源策略限制。
4. 如果你使用的是CORS(Cross-Origin Resource Sharing)标准,可以在服务器端设置Access-Control-Allow-Origin头部为"*",表示允许任何域名访问资源。但这种方法可能存在安全风险,因此需要谨慎使用。
阅读全文