未捕获的SyntaxError:意外的令牌:&标签错误无效

时间:2011-12-19 23:18:24

标签: javascript jquery ajax

我正在尝试进行ajax调用,并返回类似JSON对象的内容;

{
id: 6,
success: "true"
}

我的ajax电话是:

window.foobar = function(foo){
    $.ajax({
            url: "http://foobar.com/sites/foo/",
            dataType: "jsonp",
            success: function (data) {
        alert(data);
            },
            error: function () {
            }
        });
}

此ajax调用是跨站点调用。 在chrome上,它提供:Uncaught SyntaxError: Unexpected token :firefox,它给出了:

invalid label
http://localhost:8080/sites/foo/?callback=jsonp1324336100888&_=1324336100894
Line 1

但是当我从same domain打电话时,它运作正常。

1 个答案:

答案 0 :(得分:0)

如果您声称支持JSONP,则需要实际支持它。您的代码是有效的JSON,但它无效Javascript:对JSONP请求的响应必须是有效的Javascript。 (确切地说,您的代码无效,因为{}分隔块而不是对象文字。)

如果实现JSONP,则需要在调用callback参数中URL中给出的名称的函数中包装数据。所以在这种情况下,您需要发布以下代码:

jsonp1324336100888({
id: 6,
success: "true"
});

显然,您需要调用的函数的确切名称取决于callback URL参数。