在一个子域中出现 React Cors 问题,但在另一个子域中没有
Posted
技术标签:
【中文标题】在一个子域中出现 React Cors 问题,但在另一个子域中没有【英文标题】:React Cors issue in one sub-domain but not another 【发布时间】:2021-08-04 15:36:28 【问题描述】:我正在制作一个 React 应用程序,为了在开发中调用 API,我在 package.json 中设置了一个代理:
"proxy":"https://www.metaweather.com/api/location",
我正在向这样的天气应用发出 api 请求:
export const getLocations = async (query) =>
const response = await axios.get(`/search/?query=$query`)//full address is proxied in package.json
return response.data //WORKS PERFECTLY
但是,由于 CORS 错误,我无法向同一域的不同 url 发出 api 请求
export const getWeather = async (id) =>
const response = await axios.get(`44418`)
return response.data //CORS PROBLEM
我该如何解决这个问题?我已经搜索了一整天,无法弄清楚为什么一个子域可以工作,而另一个子域不能?
【问题讨论】:
【参考方案1】:可能是邮政编码开头缺少“/”吗?不知道端点是什么样的,但如果你在 /location
路由上配置了 cors 选项,可能它没有正确命中。
【讨论】:
很遗憾,不,这没有任何区别(我出于绝望删除了斜线,以防万一它是一个问题)。我可以点击错误中的链接,它会将我带到正确的页面,所以我认为 url 的格式正确。 要明确一点,您是否准确地点击了这个:metaweather.com/api/location/44418 准确地说,metaweather.com/api/location/44418 发布 cors 错误以便我们缩小范围 跨源请求被阻止:同源策略不允许读取metaweather.com/44418 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)——一个 url 端点有效而这个无效这一事实真的让我抓狂以上是关于在一个子域中出现 React Cors 问题,但在另一个子域中没有的主要内容,如果未能解决你的问题,请参考以下文章
React Ajax Request 给出 CORS 错误但返回数据