2011-02-23 1 views
0

jquery를 사용하면 내 코드가 kml 파일 인 을 구문 분석하고 xml 파일에서 정보를 가져옵니다. 코드는 다음입니다 :jquery, xml 구문 분석에서 "스크립트 스택 공간 할당량이 부족합니다."오류가 발생했습니다.

$.ajax({ 
     type:'POST', 
     url: '/getKmlFile', 
     data: {fname: "route.kml"}, 
     cache: false, 
     dataType: 'xml', 
     complete: function(data, status){ 
      console.debug("here"); 
      var startTime = $(data.responseText).find('TimeSpan > begin').text(); 
      ..... 
      ..... 
      $(data.responseText).find('LineString').each(function (index) { 
       .... 
      } 
      .... 
    }); 

문제는, 파이어 폭스는 오류 로그를 확인하십시오 "스크립트 스택 공간 할당량이 소진됩니다." 및 실행이 줄에 종료된다

var startTime = $(data.responseText).find('TimeSpan > begin').text(); 

난 그냥 JQuery와 기본 선택기를 사용하여 XML 요소를 찾을 수 있습니다. 그게 전부입니다.

kml 파일 크기가 그렇게 크지는 않지만 단지 1.6Mb입니다.

이 문제를 방지 할 수있는 방법이 있습니까? 다른 xml 파서를 사용하고 있습니까? 도와주세요 ~~~ :)

답변

1

나는이 문제를 재발견했다.

이 솔루션은 매우 간단합니다. 완전한 기능 data.responseText에서

complete: function(data, status){ => success: function(data, status){ 

는 데이터가 XML 객체 인 성공 함수, 문자열이 아닌 XML 객체이지만.

다음 코드는, 다음과 같이해야한다

$(data).find("...") ...    not, $(data.responseText).find("...") ... 

때문에, 적은 메모리와 아주 effecient 이송 ~ 흥미로운

~ ^^;

관련 문제