2010-05-18 130 views
0

我試圖使用這個API,可以讓你引用一個確切的文本,但getJson似乎並沒有工作,它只是返回null。jQuery getJson返回null

$.getJSON('http://api.biblia.com/v1/bible/content/KJV.json?key=MYAPIKEY=John+3:16-18&style=bibleTextOnly', function(data) { 
    alert(data); 
}); 

我只是拿了鑰匙出來,我已經與我的真實API密鑰測試它,當我剛剛訪問的URL,它工作正常。還有什麼我需要做的,以使其工作?

這是你從URL得到什麼,當你在URL的API密鑰:

{「文」:「神愛世人,甚至將他給他的獨生子,叫一切信在他裏面不要滅亡,而要永生;因爲上帝沒有派他的兒子進入世界來譴責世界,而是通過他的世界得以拯救;信他的人不被定罪;但不信的人是。已經定了,因爲他沒有在上帝的獨生子的名字相信「}

回答

1

嘗試了這一點,而不是,只是爲了測試:

$.ajax({ 
    url: 'http://api.biblia.com/v1/bible/content/KJV.json?key=MYAPIKEY=John+3:16-18&style=bibleTextOnly', 
    dataType: 'json', 
    success: function(data) { alert(data); } 
}); 

這是否適合您?

1

key=MYAPIKEY=John+3:16-18

是該參數值已經URL編碼?看起來不像。在URL中,=,+:reserved characters

試試這個:

key=MYAPIKEY%3DJohn%2B3%3A16-18

要在JS自己做,通過MYAPIKEY=John+3:16-18通過encodeURIComponent(),並在查詢字符串中使用它的返回值。

0

我敢肯定你正在運行跨域請求限制。您最好的選擇是使用JSONP代替JSON(假設api.biblia.com支持JSONP):

http://api.jquery.com/jQuery.ajax(請參閱該頁面上JSONP數據類型的討論)