我很抱歉,這可能是在論壇上的重複問題,但我有jquery中加載jsonp的過程中遇到可怕的麻煩。簡單的例子需要用jquery加載jsonp
我只是想編寫從以下網址打印出的JSON數據的函數:
http://policeapi2.rkh.co.uk/api/crimes-at-location?date=2012-02&lat=52.629729&lng=-1.131592
一個簡單的例子,功能將是非常美妙!
感謝,
- 丹
我很抱歉,這可能是在論壇上的重複問題,但我有jquery中加載jsonp的過程中遇到可怕的麻煩。簡單的例子需要用jquery加載jsonp
我只是想編寫從以下網址打印出的JSON數據的函數:
http://policeapi2.rkh.co.uk/api/crimes-at-location?date=2012-02&lat=52.629729&lng=-1.131592
一個簡單的例子,功能將是非常美妙!
感謝,
- 丹
嘗試使用JSON2.js。這是一個例子:
$.ajax({
url: 'http://policeapi2.rkh.co.uk/api/crimes-at-location?date=2012-02&lat=52.629729&lng=-1.131592',
success: function(data){
alert(JSON.stringify(data));
}
})
這不起作用。這是一個跨站請求。 – 2013-04-09 19:41:07
對不起,但你不能這樣做。你提到的API服務JSON,而不是JSONP。您無法以某種方式將它從瀏覽器轉換爲JSONP。
因爲這是一個跨站點請求,您將無法從瀏覽器讀取JSON內容。
目前只有兩個選擇:
在自己的服務器(在您的網頁託管),搭起加載自己的JSON並將其傳遞到您的代碼的代理。確保無論API的服務條款如何都可以。
讓policeapi2的人支持JSONP請求自己,或者支持CORS請求。
這就是我們如何加載JSONP使用jQuery
$.ajax({
url: 'http://jsfiddle.net/echo/jsonp/',
dataType: 'jsonp',
success: function (data) {
$('body').text(data);
}
});
記住,URL應該成爲一個JSONP這個工作,你提供不返回JSONP的網址,所以你不能做這樣。
http://api.jquery.com/jQuery.getJSON/ – David 2013-04-09 19:32:07
大衛,很明顯,我已經通過這個看了,但我解釋,我還是從基礎掙扎。因此,一個簡單的例子與我想要的URL將大大幫助我理解這是如何工作的... – djnetherton 2013-04-09 19:35:36
@ user2263300:您無法使用jQuery加載該JSON數據。這不是JSONP,你的跨域請求會被瀏覽器阻止。 – Blender 2013-04-09 19:39:46