2011-02-02 3 views
1

jQuery의 ajax 함수를 사용하여 사이트에 게시하는 페이지가 있습니다. 응답은 성공 콜백에서 div에 렌더링되는 인코딩 된 HTML뿐만 아니라 메시지 및 일부 다른 상태 코드가 포함 된 JSON 객체입니다.Firefox + jQuery : 많은 양의 반환 데이터가 포함 된 아약스 호출을 성공시키지 못했습니다.

이 기능은 대부분 잘 작동하지만 최신 Firefox (inc 베타)를 사용하면 응답이 약 1 메가보다 큰 경우 성공 콜백이 실행되지 않습니다.

알려진 문제 일까? 해결 방법이 있습니까?

JSON 개체를 스크랩하고 똑같은 html을 보내려고했지만 동일한 문제가 발생합니다. Firefox와 jQuery 1.4는 평균보다 큰 응답을 좋아하지 않는 것 같습니다.

UPDATE

감사합니다 - 자세한 내용 나는 파이어 폭스 3.6.13과 jQuery를 함께 1.4을 사용하고 asp.net MVC 2 데이터와 함께 MVC2에서 JSON 방법을 사용하여 반환됩니다. 부분 뷰는 JSON을 구성하는 문자열로 렌더링됩니다. 마음에 평평한 html을 반환 할 때 나는 동일한 행동을 본다.

onError 콜백을 연결하여 호출되는지 확인합니다.

업데이트 2 오류 콜백은 'parseerror'가 발생하고 있음을 보여줍니다.

+0

ASP.NET을 사용하고 있습니까? – Petah

+0

firefox/jQuery의 정확한 버전은 무엇입니까? 오류 콜백이 발생합니까? ($ .ajax 대신 $ .post를 사용하고 성공/오류/완료 핸들러를 추가하여 디버그하십시오) –

답변

0

일반적으로 인코딩 된 HTML은 사용하지 않는 것이 좋습니다. JSON 데이터 만 전달하고 대신 jquery 템플릿을 사용하십시오 (http://api.jquery.com/tmpl/).

브라우저는 JSON에 크기 제한을 적용하며 브라우저마다 다릅니다.

0

I stumbled upon 비슷한 오류가 발생했지만 jQuery 1.5와 MVC3을 사용하고있었습니다. 오류의 원인은 jQuery.validation이 모든 Ajax 호출에 적용되는 기본 AJAX 설정을 업데이트하여 정상적인 AJAX 호출이 JSONP 호출을 수행하도록했다는 것입니다. JSONP 콜백을 찾을 수 없기 때문에 parseerror가 발생했습니다. 아마도 비슷한 문제에 직면했을 것입니다.

관련 문제