Javascript &引用;“无效标签”;jQuery getJSON出现Firebug错误

Javascript &引用;“无效标签”;jQuery getJSON出现Firebug错误,javascript,jquery,validation,jsonp,firebug,Javascript,Jquery,Validation,Jsonp,Firebug,我正在向另一个域发出jQuery$.getJSON请求,因此我要确保我的GET URI以“callback=?”结尾(即使用JSONP) Firebug的NET面板显示我正在按预期接收数据,但由于某些原因,控制台面板记录以下错误:“无效标签” JSON通过验证,所以我怀疑数据的结构是否真的有什么问题 你知道我为什么会收到这个错误吗?看起来你在服务器脚本中误用了JSONP 当收到带有回调参数的请求时,应呈现以下内容: callbackName({ "myName": "myValue"}); 其

我正在向另一个域发出jQuery
$.getJSON
请求,因此我要确保我的GET URI以“callback=?”结尾(即使用JSONP)

Firebug的NET面板显示我正在按预期接收数据,但由于某些原因,控制台面板记录以下错误:“无效标签”

JSON通过验证,所以我怀疑数据的结构是否真的有什么问题


你知道我为什么会收到这个错误吗?

看起来你在服务器脚本中误用了JSONP

当收到带有回调参数的请求时,应呈现以下内容:

callbackName({ "myName": "myValue"});

其中,
callbackName
是callback参数的值。

这是一篇旧文章,但我仍在发布回复:

假设您希望获取由以下文件“get_jSON_code.php”生成的jSON代码:

但是,在本例中,您将在Firebug中得到一条“invalid label”消息,因为“get_json_code.php”文件没有提供有效的引用变量来保存返回的json字符串。要解决此问题,需要将以下代码添加到“get_json_code.php”文件中:


请向我们展示JSONP请求呈现的Javascript。jQuery规范允许在使用jQuery.getJSON时使用“callback=?”。这会将响应包装在回调函数中。@jerome:是的,但服务器端脚本必须支持它。JSONP不是魔术。谢谢你对这方面的见解。如果您有时间,请参阅下面的链接了解我的测试用例。我还没有足够的信息知道为什么跨域请求不允许我使用数据。向另一个域发出请求。Firebug中的“无效标签”控制台错误,无法使用数据。向同一域发出请求。已正确检索和计算数据。您需要服务器端代码来发出函数调用。JSONP不会神奇地从不同的域检索数据;它需要一个兼容的服务器端脚本来根据
回调
参数发出函数调用。你看,真的很感谢你的老而有效的回答。我在文档中没有看到这些!
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>
$.getJSON("http://mysite.com/get_json_code.php?jsoncallback=?", function(data){ 
   alert(data);
});
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo $_GET['jsoncallback'].'('.json_encode($arr).')'; //assign resulting code to $_GET['jsoncallback].
?>