【问题标题】:Origin 'http://localhost:3000' is therefore not allowed access. CryptoCompare.com API因此,不允许访问 Origin 'http://localhost:3000'。 CryptoCompare.com API
【发布时间】:2017-12-23 10:51:25
【问题描述】:

我的网络应用程序中出现了这个错误:

无法加载https://www.cryptocompare.com/api/data/coinlist/:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:3000' 因此不允许访问。

我想从 cryptocompare API 中检索一些数据。 有趣的是,当我在浏览器中粘贴 url 时: https://www.cryptocompare.com/api/data/coinlist/ 我得到了我想要的。

另外,当我从 Postman 发送 Get 方法时,只使用上面的 URL,我得到了我想要的一切。

问题是当我想将 axios 库 (https://github.com/axios/axios) 用于 javascript。

当我写那个函数时:

import axios from 'axios';

class CryptoCompareApi {
    getAllCoins() {
        return axios.get('https://www.cryptocompare.com/api/data/coinlist/');
    }
}

export default new CryptoCompareApi();

并使用它:

const coins = CryptoCompareApi.getAllCoins()
            .then((response) => {
                this.props.changeAllCryptos(response);
            });

我得到了上述错误。

我做错了什么吗? 或者也许我应该使用一些解决方法?

作为补充,我无法访问 BE 端。

【问题讨论】:

    标签: javascript xmlhttprequest axios


    【解决方案1】:

    尝试使用 min-api:https://min-api.cryptocompare.com/

    由于滥用,如果您希望您的客户直接使用我们的 API,请使用 MIN-API 路径。 (标题 Access-Control-Allow-Origin: * 仅在 min-api 路径上设置)

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 2017-03-19
      • 1970-01-01
      • 2015-02-05
      • 2018-08-12
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多