正在加载跨域文件,但语法错误

时间:2012-11-18 18:04:44

标签: jquery cross-browser cross-domain getjson

我试图通过跨域的jquery获取文件,代码是

$.getJSON('http://tzook.info/bot/t.htm?callback=?', function(jsonp) {
alert('loaded');
});

但是控制台上的错误是

Resource interpreted as Script but transferred with MIME type text/html: "http://tzook.info/bot/t.htm?callback=jsonp1353261653582". jquery-1.4.2.js:5093
Uncaught SyntaxError: Unexpected token < 

为什么会出现这个错误。

Js Fiddle Link

3 个答案:

答案 0 :(得分:0)

尝试使用简单的ajax请求然后解码结果。并链接http://tzook.info/bot/t.htm?callback=?得到HTML!不是json

答案 1 :(得分:0)

您不能在网址中使用字符?,它用于分隔参数

尝试使用以下内容删除错误:

$.getJSON('http://tzook.info/bot/t.htm?callback=test', function(jsonp) {
alert('loaded');
});

答案 2 :(得分:0)

如果您因security reasons而进行跨域调用,则无法执行任何操作。

只有JSONP是一个例外,您的响应看起来不是网站JSON。

<强> SOLUTION:

使用JSONP响应或使用后端代理。