json api获取请求错误

时间:2017-11-11 12:21:19

标签: javascript json ajax

以下是我的代码:



$(document).ready(function(){
        $.ajax({
            url: 'https://bitconnect.co/api/info/BTC_BCC',
            type: 'get',
            dataType: 'json',
            success: function(data){
                alert(data);
            },
            error: function(error){
                alert(error);
            }
        });
    });

<html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
            <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
            <script src = "//code.jquery.com/jquery-1.12.4.js"></script>
    
            <script src="try.js"></script>
        </head>
        <body>
            
        </body>
    </html>
&#13;
&#13;
&#13;

我想从ajax的url部分提到的url中获取信息。 但我收到以下错误:

Failed to load https://bitconnect.co/api/info/BTC_BCC: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

我对此部分完全不了解,并且不知道错误是什么。 如果能得到任何帮助,那将是很棒的。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果您是从localhost执行此操作并使用此应用程序的代理服务器,则可以通过这种方式执行此操作,或者您也可以按照此URL https://github.com/Rob--W/cors-anywhere/

自行托管并创建代理服务器
var proxyUrl = 'https://cors-anywhere.herokuapp.com/'

$.ajax({
    url: proxyUrl+'https://bitconnect.co/api/info/BTC_BCC',
    type: 'get',
    dataType: 'json',
    crossDomain: true,
    headers: { "Access-Control-Allow-Origin": "*" },
}).done(function(data) {
    console.log(data);
});

答案 1 :(得分:0)

您可以使用jsonp进行跨域请求

$.ajax({
   type: 'GET',
    url: 'https://bitconnect.co/api/info/BTC_BCC',
    async: false,
    jsonpCallback: 'jQuery16206304910685867071_1380876031038',
    contentType: "application/json",
    dataType: 'jsonp',
    success: function(json) {
       console.dir(json.PRList);
    },
    error: function(e) {
       console.log(e.message);
    }
});