Firefox / Firebug JSON.parse错误但仅在本地

时间:2012-03-13 21:12:24

标签: jquery json

我遇到了一个非常奇怪的错误。我们有一个应用程序可以执行大量的JSON调用。该应用程序可以在Chrome,IE和Safari的所有环境,本地,开发,预生产和产品上完美运行。 Firefox适用于除本地之外的所有环境。如果您在本地运行代码,几乎每次JSON.parse调用都会出现以下错误,数百个错误:

JSON.parse:意外字符

JSON响应是,例如:

[{"id":"724111437775422","order":0,"link":"","name":"Thumb Logo Transparent Back","active":true,"altText":"","url":"http://localhost/storm/mediamanager/retrieveMedia?id=724111437775422"}]

JS代码本身是:

$.ajax({
type: 'GET',
url: requestUrl,
success: function(msg){
var parsed = JSON.parse(msg);
callback(key, mediaType, targetSelector, parsed);
},
error : function(jqXHR, textStatus, errorThrown){
if(Media.debug)
//alert('getActiveMediaList: ' + JSON.stringify(jqXHR) + " | " + textStatus + " | " + errorThrown);
var ignoreThis = 1;
}
}); 

我尝试从服务器端设置MIME类型,我尝试修剪JSON,我尝试了很多东西,无论Firefox看起来如何解析这个JSON数据。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你不需要在$ .ajax成功中使用JSON.parse,jQuery将在内部解析它。您还应该将$ .ajax中的dataType选项设置为dataType:'json'