Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的语法错误:意外标记(&;无效的标签错误_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 未捕获的语法错误:意外标记(&;无效的标签错误

Javascript 未捕获的语法错误:意外标记(&;无效的标签错误,javascript,jquery,ajax,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

我试图进行一个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
上,它给出:
未捕获的语法错误:意外标记:
在firefox上,它给出了:

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

但是当我从
同一个域调用时,它工作得很好。

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

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

jsonp1324336100888({
id:6,
成功:“真的”
});
显然,您需要调用的函数的确切名称取决于
回调
URL参数。

代码几乎是有效的JSON:属性名称应该(双引号)引用为完全有效的JSON。(JavaScript倾向于原谅这一点,因为JS对象文本可以有不带引号的属性名。)