2013-08-21 53 views
0

我一直在嘗試從跨域服務器加載JSON文件。我試過從stackoverflow和jQuery文檔的例子。我確實在之前的項目中工作過,但現在奇怪的是它沒有。從jQuery返回的錯誤對我來說是不可讀的。這裏可能會出現什麼問題?jQuery JSONP不能工作了嗎?

$(document).ready(function() { 
    console.log("Start loading"); 
    $.ajax({ 
     type: 'GET', 
     url: "http://www.nightoferror.nl/data/data.json", 
     dataType: 'jsonp', 
     crossDomain: true, 
     error: function(data) { 
     console.log('error', data); 
     }, 
     success: function(data) { 
     console.log('success', data); 
     } 
}); 

});

而且飄忽不定的jsfiddle這裏:http://jsfiddle.net/ZuyJV/4/

回答

1
Content-Type:application/javascript 

而不是Content-Type:application/json;

難道是因爲你的文件被命名爲.js,阿帕奇提供的內容類型本身?

嘗試將文件類型更改爲JSON並設置Apache以使用正確的MimeType提供該文件類型。

我發現這個使用Fiddler - 一個HTTP調試器..打開Fiddler(2),在您的瀏覽器中發出您的請求,然後Fiddler2拿起它。從那裏,只需檢查您的文件的響應。

enter image description here它看起來像你的服務器返回的響應爲「應用程序/ JavaScript的」

+0

謝謝你,我改變了文件數據/ data.json中的jsfiddle。仍然沒有結果。 – Kokodoko

+0

它看起來仍然是被返回的'Content-Type',它被作爲'text/plain'返回,而不是JSON ... –

+0

謝謝!看起來這是問題的根源。你是怎麼找到這個的? – Kokodoko