No' Access-Control-Allow-Origin' over rxjs

时间:2017-06-12 16:11:41

标签: ajax cors rxjs redux-observable

我一直在构建简单的反应应用程序,显示以下crytowat.ch api。 https://api.cryptowat.ch/markets

这是我的redux-observable Epic的代码

const cryptowatchEpic = action$ =>
action$.ofType(FETCH_PRICE).mergeMap(action =>
    ajax({
      url: `${baseUrl}${action.payload}/btcusd/price`,
      crossDomain: true,
      method: 'GET',
      headers: {
        'Access-Control-Request-Origin': 'https://api.cryptowat.ch/'
      },
      withCredentials: true
    }).map(response => fetchPriceFilled(response))
  );

这是控制台错误

  

XMLHttpRequest无法加载https://api.cryptowat.ch/markets/kraken/btcusd/price。对预检请求的响应没有通过访问控制检查:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:3000'因此不允许访问。响应的HTTP状态代码为405。

我认为在标题中传递Access-Control-Request-Origin但我发生了错误。有什么我错过了吗?

提前致谢

1 个答案:

答案 0 :(得分:4)

你已经倒退了。

服务器负责发送'Access-Control-Request-Origin'标头,而不是客户端。

因此,换句话说,您需要服务器端访问才能在那里添加这些标头。有关详情,请访问"No 'Access-Control-Allow-Origin' header is present on the requested resource"