Noobie在这里。我正在编写一个需要从另一个域读取XML文件的客户端脚本。我尝试过使用JSONP。我得到200响应但客户端由于某种原因无法访问返回的数据。我收到两个错误:
Resource interpreted as Script but transferred with MIME type text/xml
和
Uncaught SyntaxError: Unexpected token <
这是代码(我删除了XML url,因为它是保密的):
$(document).ready(function() {
$.getJSON("urlOfFilecallback=?", function(data) {
console.log(data)
})
});
当我尝试在控制台中渲染数据时,我得到:
ReferenceError: data is not defined
我该如何解决这个问题?我需要使用代理吗?
答案 0 :(得分:17)
您不必编写自己的代理。你可以使用YQL,如果你想在这里举例如下:
//sample site that returns xml
site = 'http://goo.gl/9iQWyG';
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from xml where url="' + site + '"') + '&format=xml&callback=?';
// Request that YSQL string, and run a callback function.
// Pass a defined function to prevent cache-busting.
$.getJSON(yql, function(data){
console.log(data.results[0]);
});
这是jsfiddle check console.log。
(公共YQL API的Usage limits是每个IP 2,000个请求/小时)
答案 1 :(得分:1)
答案 2 :(得分:1)
如果您有权访问其他域名,您也可以使用此方法Cross Domain Request