我需要从这里获取一个json文件:
https://raw.github.com/Yelp/yelp-api/master/category_lists/en/category.json
但是,我一直收到错误:
资源解释为脚本,但使用MIME类型text / plain
进行传输我试图通过以下方式获取文件:
$.ajax({
url : 'https://raw.github.com/Yelp/yelp-api/master/category_lists/en/category.json',
dataType : 'jsonp',
success: function (data) {
alert("here");
},
error: function () { alert("Error reading category.json");}
});
有解决方法吗?感谢。
答案 0 :(得分:2)
因为Response Headers
显示收到的内容是
Content-Type: text/plain; charset=utf-8
并且您的代码需要来自网址的JSON
响应。这就是你得到这个错误的原因。
解决方案:
您可以做的一件事是,您可以将响应加载为text/plain
,然后通过
json
对象
var obj = $.parseJSON(yourString);
更新代码:
好吧,您可以通过从您自己的域加载远程响应来避免Access-Control-Allow-Origin错误,这将充当代理服务器并且它将为您加载远程资源
$.ajax({
url : url, // url on your domain, that will load the remote response for you
dataType : 'html', // load the response as plain/html
success: function (data) {
var obj = $.parseJSON(data); // convert the received response to a JSON object
}
});