簡體   English   中英

在JavaScript中從外部來源獲取json

[英]getting json from external source in javascript

javascript和jQuery的Json問題。 嘗試使用JavaScript加載一些JSON。

我有使用它的工作:

在這里查看: http : //jsfiddle.net/5pjha/789/

var url = "http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true";

$.getJSON(url, function (json) {
    alert(JSON.stringify(json.results));
});

但是它不能在以下網址上工作,為什么呢?

https://poloniex.com/public?command=return24hVolume

https://bittrex.com/api/v1/public/getmarkets

https://api.mintpal.com/v1/market/summary/

以下網址是否是不正確的JSON?

謝謝

谷歌的api將Access-Control-Allow-Origin標頭設置為* ,因此您可以跨域訪問它。

雖然您提供的其他網址沒有,所以您將得到如下錯誤:

XMLHttpRequest無法加載https://api.mintpal.com/v1/market/summary/ 所請求的資源上沒有“ Access-Control-Allow-Origin”標頭。 因此,不允許訪問源“ http://fiddle.jshell.net ”。

我認為問題歸結於您從中請求JSON的服務器是否啟用了跨域資源共享( CORS )。

您會在Google服務的標頭中看到它們設置了Access-Control-Allow-Origin:*您列出的其他URL並非如此。

要解決此問題,您將需要某種形式的代理,以便可以從同一域中的服務器或啟用CORS的服務器中請求。

對於對任何服務器的ajax請求,您需要為客戶端定義Access-Control-Allow-Origin標頭。 在給定的情況下不存在。 您需要在可以請求的服務器中定義XMLHttp請求的來源。

有關更多信息,請參考此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM