axios 被CORS策略阻止

amrnrhlw  于 2023-03-08  发布在  iOS
关注(0)|答案(1)|浏览(278)

我试图从localhost:3000发送请求到API,但我总是被CORS策略阻止。是我的代码中的问题还是它来自服务器。因为一旦我在 Postman 上发出请求,它的工作正常,但在我的代码中它不是。

const axios = require('axios');

  const data = JSON.stringify({
    checkin: searchDetails.checkin,
    checkout: searchDetails.checkout,
    residency: 'il',
    language: 'en',
    guests: [
      {
        adults: 2,
        children: [],
      },
    ],
    region_id: 6057316,
    currency: 'ILS',
  });

  var config = {
    method: 'post',
    maxBodyLength: Infinity,
    url: 'https://api.worldota.net/api/b2b/v3/search/serp/region/',
    headers: {
      'Content-Type': 'application/json',
      Authorization: `Basic ${token}`,
    },
    data: data,
  };

  axios(config)
    .then(function (response) {
      console.log(JSON.stringify(response.data));
    })
    .catch(function (error) {
      console.log(error);
    });

问题出在我的代码中还是仅仅出在API上?
我的股票为两天,我搜索了每一个地方,并添加到我的标题访问控制允许起源:* 但它不工作,我也用了chrome扩展,并开始给我http是不行的。
我尝试添加访问控制允许来源:* 在我的头,但它不工作。我已经尝试使用 chrome 核心extion不工作也。我已经搜索了每一个地方,但无法得到任何答案,解决了这个问题。我使用节点v-14.17.3,因为代码是旧的。

ercv8c1e

ercv8c1e1#

一般来说,这个问题可以由服务器端解决,方法是在标题中添加您的站点主机Access-Control-Allow-Origin' = '*',您可以将*替换为您的主机,如如果您在localhost:3000中提供前端服务,则可以将其设置为Access-Control-Allow-Origin' = 'http://localhost:3000'

    • 使用示例**
app.use(cors({
  origin: 'http://yourapp.com'
}));
app.enableCors({
  origin: '*'
});

相关问题