我开始在浏览器中收到错误,从服务器解析JSON返回数据。起初我认为这是我的数据特有的东西,但即便是像
这样的东西{"a": 1}
导致Firefox中出现“invalid label”错误,Chrome中出现“SyntaxError:Unexpected token:”。将其更改为
时{a:1}
(即删除标签周围的双引号)它工作正常。但是,我确信即使使用双引号,它也是有效的JSON(JSONLint同意这一点。)
我看到的解决方法是用括号括起JSON对象:
({"a":1})
这可以从浏览器控制台工作,但不是在我更改我的服务器数据(响应JSONP调用)时我也无法在浏览器中更改它,因为我正在使用库(Dojo)和在解析之前,我没有机会拦截返回数据。
更新
我在服务器代码中发现了一个错误,我没有将数据包装在JSONP响应的JS函数中。这解决了问题,我随后需要删除这个问题。道歉,并感谢你的回应。