【问题标题】:React Cors issue in one sub-domain but not another在一个子域中出现 React Cors 问题,但在另一个子域中没有
【发布时间】: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
}

我该如何解决这个问题?我已经搜索了一整天,无法弄清楚为什么一个子域可以工作,而另一个子域不能?

【问题讨论】:

    标签: reactjs api cors


    【解决方案1】:

    可能是邮政编码开头缺少“/”吗?不知道端点是什么样的,但如果你在 /location 路由上配置了 cors 选项,可能它没有正确命中。

    【讨论】:

    • 很遗憾,不,这没有任何区别(我出于绝望删除了斜线,以防万一它是一个问题)。我可以点击错误中的链接,它会将我带到正确的页面,所以我认为 url 的格式正确。
    • 要明确一点,您是否准确地点击了这个:metaweather.com/api/location/44418
    • 发布 cors 错误以便我们缩小范围
    • 跨源请求被阻止:同源策略不允许读取metaweather.com/44418 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)——一个 url 端点有效而这个无效这一事实真的让我抓狂
    猜你喜欢
    • 2013-07-04
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 2015-01-05
    • 2013-10-19
    • 1970-01-01
    相关资源
    最近更新 更多