2012-09-21 484 views
0

爲什麼在格式正確時無法獲得此JSON?JQuery/JSON:無法獲取JSON?

jQuery.getJSON("http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/?keyword=drive&format=json", function(result){ 

     alert('ok'); 

    }); 
+0

你有沒有試過把你的JSON響應通過像http://jsonlint.com這樣的工具來驗證你的JSON是有效的? – Mark

回答

4

因爲它來自不同的域。你必須使用JSONP,幸運的是,你正在使用的API支持(通過設置回調參數):

$.ajax({ 
    dataType : 'jsonp', 
    url : 'http://sandbox.buscape.com/service/findProductList/564771466d477a4458664d3d/?keyword=drive&format=json&callback=?', 
    success : function(data) { 
     console.log(data); 
    } 
}); 
+0

如果你將'dataType'設置爲''jsonp',jQuery實際上會爲你添加'callback =?'到你的URL。 :-P –

+0

沒有工作。 – user1091856

+0

@ user1091856:你是什麼意思「沒有工作」?它爲我工作得很好。 –

1

幾乎可以肯定該文件中的重音字符導致問題。例如,í出現在"Sistema Operacional Compatível"。如果編碼不正確,它將被視爲無效的UTF-8字符。確保編碼正確,或手動編碼爲UTF-8。