我一直在构建简单的反应应用程序,显示以下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
但我发生了错误。有什么我错过了吗?
提前致谢
答案 0 :(得分:4)
你已经倒退了。
服务器负责发送'Access-Control-Request-Origin'
标头,而不是客户端。
因此,换句话说,您需要服务器端访问才能在那里添加这些标头。有关详情,请访问"No 'Access-Control-Allow-Origin' header is present on the requested resource"。