1

我正在尝试通过 jQuery获取这个远程 JSONP 提要。

每次我尝试时,我都会收到“Uncaught SyntaxError: Unexpected token (”或类似的错误。

我做错了什么还是 JSONP 数据中的某些内容被错误地格式化/转义?

小提琴:http: //jsfiddle.net/callmeed/d3tSX/2/

var _event_url = "http://calvaryslo.onthecity.org/plaza/*events*?format=json";
$.ajax({
    type: 'GET',
    url: _event_url,
    dataType: 'jsonp',
    success: function(msg) {
        alert(msg.length);
    }
});​
4

2 回答 2

4

因为此提要返回 JSON,而不是 JavaScript 函数调用:

[{Query172031345640518702567_1334079878875({...

但它应该是:

Query172031345640518702567_1334079878875({...

我不知道这个服务是否在你的控制之下,你可以改变它,或者你只需​​要在 URL 中添加一些参数(查看手册)。

响应的内容类型也应该是application/javascript,不是text/json

于 2012-04-10T17:46:43.067 回答
0

如果您使用dataType: 'jsonp'JQuery ,则会callback在请求中附加一个 url 参数。该参数的值必须是服务器返回的回调函数的函数名。正如 Eugene Retunsky 已经提到的那样,它的格式不正确,而且似乎服务器代码省略了函数名称的第一个字符,因此jQuery_674...变得Query_674...不起作用。

于 2012-04-10T17:59:28.003 回答