javascript – 在fetch api中启用CORS
作者:互联网
参见英文答案 > How does Access-Control-Allow-Origin header work? 13个
我收到以下错误消息,无法继续
Failed to load 07001: Response to preflight request
doesn’t pass access control check: No ‘Access-Control-Allow-Origin’
header is present on the requested resource. Origin
‘07002’ is therefore not allowed access. If an opaque
response serves your needs, set the request’s mode to ‘no-cors’ to
fetch the resource with CORS disabled.
localhost/:1 Uncaught (in promise) TypeError: Failed to fetch
我试图在我的反应js文件中启用CORS,但我无法获得预期的结果.我已经安装了chrome扩展程序,它可以工作.但是要在生产站点中使用它,我需要在我的代码中启用它.我应该如何正确安排代码以启用CORS.
fetch(URL, {
mode: 'cors',
headers: {
'Access-Control-Allow-Origin':'*'
}
})
.then(response => response.json())
.then(data => {
解决方法:
浏览器在客户端具有跨域安全性,可验证服务器是否允许从您的域中获取数据.如果响应头中没有Access-Control-Allow-Origin,则浏览器不允许在JavaScript代码中使用响应并在网络级别抛出异常.您需要在服务器端配置cors.
您可以使用模式获取请求:’cors’.在这种情况下,浏览器不会抛出跨域的execption,但浏览器不会在你的javascript函数中给出响应.
因此,在这两种情况下,您都需要在服务器中配置cors,或者需要使用自定义代理服务器.
标签:fetch-api,javascript,reactjs 来源: https://codeday.me/bug/20190910/1801416.html