2012-03-13 3 views
0

매우 특이한 오류가 발생합니다. JSON 호출을 많이하는 애플리케이션이 있습니다. 이 앱은 모든 환경, 로컬, dev, preprod에서 완벽하게 작동하며 Chrome, IE 및 Safari로 성능이 우수합니다. Firefox는 로컬 환경의을 제외한 모든 환경에서 으로 잘 작동합니다.Firefox/Firebug JSON.parse 오류 (로컬에만 해당)

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 코드 자체는 다음과 같습니다

I는 서버 측에서 MIME 유형을 설정하려고했습니다
$.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; 
} 
}); 

, 내가, 내가 시도한 JSON을 트리밍 많은 것들과 상관없이 ㅁ을 시도했습니다 파이어 폭스에서이 JSON 데이터를 구문 분석하지 못한 것 같습니다.

아이디어가 있으십니까?

답변

1

$ .ajax 성공 내에서 JSON.parse를 사용할 필요가 없습니다. jQuery는 이미 내부적으로 파싱합니다. 또한 $ .ajax에서 dataType 옵션을 dataType:'json'

+0

으로 설정해야합니다. 동일한 문제가 발생했습니다. Firefox localhost에서 내 JSON 응답이 자동으로 구문 분석되는 동안 실제 서버에서는 응답이 객체로 변환되지 않으므로'JSON.parse'를 사용해야합니다. – frequent

+0

나를 위해 그것은 트릭을했다. 로컬 적으로 dataType과 jQuery만이 내부적으로 데이터를 파싱해야했다. – szabcsee

관련 문제