首页 > 解决方案 > 在任何地方使用 CORS 进行请求时缺少所需的请求标头

问题描述

我收到错误“缺少所需的请求标头。必须指定来源之一,x-requested-with”。

起初,我认为 .env.local 文件中的变量存在问题,但如果我在执行请求时 console.log 它,我可以看到它是正确的。

这是代码

let YELP_API_KEY;

if (process.env.NODE_ENV !== "production") {
    YELP_API_KEY = process.env.REACT_APP_YELP_API_KEY;
} else {
    YELP_API_KEY = process.env.YELP_API_KEY;
}

const Yelp = {
    // Returns restaurant search resuts

    async searchRestaurants(text) {
        console.log(YELP_API_KEY);
        try {
            let response = await axios.get(
                `https://cors-anywhere.herokuapp.com/https://api.yelp.com/v3/businesses/search?limit=12&term=${text.what}&location=${text.where}&sort_by=${text.sortBy}`, {
                    headers: {
                        Authorization: `Bearer ${YELP_API_KEY}`,
                    },
                }
            );

            return response.data.businesses;
        } catch (e) {
            console.log(e);
            return "Error";
        }
    },
}

谢谢你的帮助

标签: javascriptreactjsapiaxioscors-anywhere

解决方案


好吧..显然问题是由文件;中变量声明末尾的a引起的.env

我假设您必须像在 JS 中那样在每个代码字符串的末尾添加一个分号。

一个愚蠢的错误,但我花了很长时间才意识到这一点。


推荐阅读