获取请求导致'对预检请求的响应未通过访问控制检查'

时间:2017-08-26 11:31:08

标签: javascript api http-headers cors axios

我正试图通过以下代码从Bol.com open api(荷兰网上商店)获取产品信息。

const config = {
  mode: 'cors',
  headers: {
    'Access-Control-Allow-Origin':'*',
    'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',
    'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token'
  }
};

axios.get(productUrl, config)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

尝试在我的网站或localhost上运行此代码时,我遇到以下错误。

enter image description here

链接是正确的(如果我打开另一个标签中的链接,我得到一个包含所有产品数据的json对象),所以我认为它与cors有关。

看到这篇文章Response to preflight request doesn't pass access control check后,我在谷歌浏览器中关闭了我的CORS,并且我能够收到所请求的数据。

但是我不能要求所有人关闭cors,所以我真的想知道如何用代码解决这个问题。任何人都可以帮助我吗?

0 个答案:

没有答案