Jquery Firefox/Firebug JSON.parse错误,但仅限于本地

Jquery Firefox/Firebug JSON.parse错误,但仅限于本地,jquery,json,Jquery,Json,我遇到了一个非常奇怪的错误。我们有一个应用程序,它通过大量的JSON调用来完成一些事情。该应用程序在所有环境下都能正常运行,包括本地、开发、prepod和带有Chrome、IE和Safari的prod。Firefox在除本地以外的所有环境中都能正常工作。如果在本地运行代码,几乎每次JSON.parse调用都会出现以下数百个错误: JSON.parse:意外字符 例如,JSON响应是: [{"id":"724111437775422","order":0,"link":"","name":"Thu

我遇到了一个非常奇怪的错误。我们有一个应用程序,它通过大量的JSON调用来完成一些事情。该应用程序在所有环境下都能正常运行,包括本地、开发、prepod和带有Chrome、IE和Safari的prod。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数据时丢失了什么


有什么想法吗?

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

我遇到过同样的问题。在Firefox localhost上,我的JSON响应被自动解析,而在我的live server上,响应没有转换为对象,因此我需要使用
JSON.parse
。对我来说,它做到了这一点。本地只需要数据类型,jQuery在内部解析数据。