2013-08-21 20 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