我使用的是JQuery 1.3.2,遇到了以前似乎可行的问题.
我正在呼叫另一个域中的WCF服务.我的电话打到我的服务并取回有效的JSON对象,但我一直收到此“无效标签”错误.
var url = "http://.../GetEmployee?callback=?";
$.getJSON(url2,{empolyeeNo:42},function(data) { alert("works!"); });
http://…/GetEmployee?callback=jsonp1246048506475&_=1246048755308&echoThis=42
我在Firebug控制台中看到的响应是:
Firebug’s log limit has been reached. %S entries not
shown. Preferences invalid label [Break on this error] {“d”:”You
sent this 42″}
有人知道我在做什么错吗?我一直在向几个JQuery家伙展示它.似乎没人知道问题可能出在哪里.
全面披露:该应用程序是带有WCF服务器的.NET 3.5和一个ASP.NET MVC应用程序.
谢谢,
最佳答案
WCF / ASP.NET故意返回一个无法调用eval的JSON字符串,因为JSON调用上的eval是不安全的,并且使您易于进行JSON劫持,因此您应该使用JSON解析器
如果您想让自己容易受到漏洞攻击并仍然使用eval,则可以将其包装
var response = eval( '(' + jsonString + ')' );
但实际上是use a parser.