Vercel (Zeit) 托管服务 - CORS 因 REST 请求而被阻止

Vercel (Zeit) hosting services - CORS blocked for REST requests

情况

我使用 Vercel The database is in db.json 托管了我的 JSON 数据库。我有一个站点,我想在其中创建和删除数据库中的对象。我已经配置了 Axios,以便它可以允许 PUT、PATCH、DELETE 请求。

const streams = axios.create({
    // .. where we make our configurations
    baseURL: "https://music-json-server.now.sh/db.json",
    headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Request-Method": "*",
        "Access-Control-Allow-Credentials": "true",
        "Access-Control-Allow-Methods": "GET,HEAD,OPTIONS,POST,PUT",
        "Access-Control-Allow-Headers":
            "Origin, X-Requested-With, Content-Type, Accept, Authorization",
        "Content-Type": "application/json",
    },
});

问题 我在启动应用程序时遇到与 CORS/axios 配置相关的错误。

xhr.js:126 Refused to set unsafe header "Access-Control-Request-Method"

Access to XMLHttpRequest at 'https://music-json-server.now.sh/db.json/' from origin 'http://localhost:3001' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.

CORS 正在阻止应用程序启动。

我尝试解决的问题:

  1. 我联系了支持人员。这对他们来说不是问题,因为看起来他们支持 CORS。

  2. 正在阅读相关的 post,Zeit (Vercel) Now serverless authenticated requests failed because of CORS 。建议添加now.json。我认为它不适用于我的情况,因为它使用 Vercel 的无服务器功能。

哦,有一个包你必须安装和使用:https://expressjs.com/en/resources/middleware/cors.html 遵循本指南,您将一切顺利。