2015-10-15 30 views
0

我從跨域獲取本地數據。如何獲取JSONP返回數組的值

$.ajax({ 
    type: "GET", 
    url: "http://sunnah.com/ajax/urdu/bukhari/1?callback=items", 
    dataType: 'jsonp', 
    jsonpCallback: 'items', 
    jsonp: 'callback', 
    success: function (data) { 
     var data = $.parseJSON(data) 
     console.log(data); 
    } 
}); 

我可以看到返回像[{"urduURN":"4000010","collection":"bukhari"}....],可以給定URL可見JSON數組。但我無法得到任何東西在console.log(data)我也希望把它的價值html元素是從data返回做循環。請告訴我我在哪裏做錯了?

+0

服務器沒有返回JSONP。它只是返回JSON。 –

+0

此外,萬一它是一個簡單的JSON請求,你不需要'$ .parseJSON' jQuery AJAX響應 - 它已經是一個JSON對象。你可以簡單地像'data.something'那樣訪問它。 –

+0

@YeldarKurmangaliyev感謝您的信息,但我已經嘗試過,沒有'$ .perseJSON'和'success'。仍然無法在'console.log()'中顯示任何內容,但是我可以在'name'列下的chrome的'NETWORK'選項卡中看到數據。至少它應該顯示類似於'console.log(data);'作爲對象?或它的一個值'data.bookNumber'? – RanaHaroon

回答

1
Try this: 
$.ajax({ 
type: "GET", 
url: "http://sunnah.com/ajax/urdu/bukhari/1?callback=items", 
dataType: 'jsonp', 
jsonpCallback: 'items', 
jsonp: 'callback', 
success: function (data) { 
    var strData = JSON.stringify(data); 
    console.log(strData); 
} 
}); 
+0

感謝您的回答,但問題依然存在。在'console.log()'之前'我嘗試了一個'alert()',它也沒有工作。然後我添加',成功:函數(數據){...}, \t錯誤:函數(XMLHttpRequest,textStatus,errorThrown){ \t alert(「some error」); \t}'現在這次它警告「有些錯誤」。數據正在返回時它似乎不成功? – RanaHaroon