【发布时间】:2018-12-03 16:31:28
【问题描述】:
我收到以下无法继续的错误消息
无法加载https://site/data.json:对预检请求的响应 未通过访问控制检查:没有“Access-Control-Allow-Origin” 请求的资源上存在标头。起源 'http://localhost:8080' 因此不允许访问。如果一个不透明 响应满足您的需求,将请求的模式设置为“no-cors”以 获取禁用 CORS 的资源。 localhost/:1 Uncaught (in promise) TypeError: Failed to fetch
我正在尝试在我的 react js 文件中启用CORS,但我无法获得预期的结果。我已经安装了一个 chrome 扩展,它可以工作。但是要在生产站点中使用它,我需要在我的代码中启用它。我应该如何正确安排代码以启用CORS。
fetch(URL, {
mode: 'cors',
headers: {
'Access-Control-Allow-Origin':'*'
}
})
.then(response => response.json())
.then(data => {
【问题讨论】:
-
CORS 必须在服务器端处理。
-
Access-Control-Allow-Origin应该是响应头,客户端请求是无效 -
我认为
CORS也可以在客户端启用。 -
hm,所以对于上面的错误消息,根据发布的链接,似乎
Access-Control-Allow-Origin必须从https://site/:启用,而不是在我的http://localhost:8080中启用。如果我理解它的简单性。 -
您使用了哪个 Chrome 扩展程序? chrome.google.com/webstore/detail/moesif-origin-cors-change/…这个?
标签: javascript reactjs fetch-api