我试图从bitbns.com获取json数据,但收到错误

时间:2018-02-03 15:51:46

标签: javascript json

我是javascript的新手,我试图从bitbns获取json数据,但是收到错误    - "(原因:CORS标题'Access-Control-Allow-Origin'与'https://www.bitbns.com'不匹配。)"

我在网上搜索了很多但找不到任何解决方案。

<script>

url="https://www.bitbns.com/order/getTicker";
var request = new Request(url);

fetch(request, {mode: "cors",
}).then(function(response) {
       return response.json();
    }).then(function(j) {
       console.log(JSON.stringify(j)); 
    }).catch(function(error) {  
        console.log('Request failed', error)  
    });
console.log(request.headers)
</script>

任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

&#13;
&#13;
var proxyUrl = 'https://cors-anywhere.herokuapp.com/'
var url="https://www.bitbns.com/order/getTicker";
let x = proxyUrl + url
fetch(x, {mode: "cors",
}).then(function(response) {
       return response.json();
    }).then(function(j) {
       console.log(JSON.stringify(j)); 
    }).catch(function(error) {  
        console.log('Request failed', error)  
    });
&#13;
&#13;
&#13;

这将使事情滚滚而来,但最好不要因为缺乏安全性而将其用于生产。

https://cors-anywhere.herokuapp.com/ 是添加cors标头的链接。

答案 1 :(得分:0)

以下是我在https://www.sencha.com/forum/showthread.php?299915-How-to-make-an-ajax-request-cross-origin-CORS

上找到的内容
$.ajax({
            url: 'http:ww.abc.com?callback=?',
            dataType: 'JSONP',
            jsonpCallback: 'callbackFnc',
            type: 'GET',
            async: false,
            crossDomain: true,
            success: function () { },
            failure: function () { },
            complete: function (data) {
                if (data.readyState == '4' && data.status == '200') {
                    errorLog.push({ IP: Host, Status: 'SUCCESS' })
                }
                else {
                    errorLog.push({ IP: Host, Status: 'FAIL' })
                }
            }
        });