programing

XML 구문 분석 오류: FireFox에서는 제대로 포맷되지 않았지만 Chrome에서는 양호함

copyandpastes 2023. 8. 14. 23:56
반응형

XML 구문 분석 오류: FireFox에서는 제대로 포맷되지 않았지만 Chrome에서는 양호함

아래와 같이 jQuery Ajax를 사용하고 있습니다.

$.ajax({
url: 'servlet/*****Servlet',
      dataType: "text",
      success: function(data) {
        var subareaCoordsPGs = preprocessCoords(data);
      }
    });

Chrome에서 dataType을 설정하지 않았어도 잘 작동하지만 FF에서 XML 구문 분석 오류로 실패했습니다.

응답 머리글 원본 보기
서버 Apache-Coyote/1.1
전송 인코딩 청크됨
날짜 2011년 10월 4일 화요일 00:08:08 GMT
요청 헤더 보기 원본
호스트 로컬 호스트: 8080
사용자 에이전트 Mozilla/5.0(Windows NT 5.2; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
텍스트/숫자 사용, /; q=0.01
수락 언어 en-us, en;q=0.5
수락 - 인코딩 gzip, 압축 풀기
Accept-Charset ISO-8859-1,utf-8;q=0.7,q=0.7
연결 keep-message
X-Requested-With
XMLHttpReferrer
http://localhost:808080/*/

캐시 제어 최대 사용 기간=0

XML 구문 분석 오류: 올바른 형식이 아닌 위치: moz-nullprincipal: {2f6a8381-b987-448b-88c2-e89c4e13440b} 라인 번호 1, 4:

534@151.248078368847 -33.9353900931769,151.247877472978 -33.9360784582012,151.24...
------^

검색 후, 나는 적절한 데이터 유형을 설정하는 것이 좋다는 것을 알고 있습니다. 나는 그것을 일반 텍스트처럼 구문 분석하기를 원하지만, 내가 그것의 유형을 명시적으로 "텍스트"로 설정해도 왜 지능형 게스가 FF에서 작동하지 않습니까?

서버에서 컨텐츠 유형을 반환하지 않으므로 Firefox는 _XML_HttpRequest이므로 응답이 XML일 수 있다고 가정하고 구문 분석을 시도합니다.이 작업이 실패하면 시도가 중지되고 XML이 아니라고 보고합니다.

Chrome도 마찬가지일 수 있지만 아무것도 보고하지 않습니다.

실제로 데이터가 무엇인지 나타내는 Content-Type 헤더를 보내는 것이 좋습니다.

이 코드를 추가합니다.문제는 서버가 MIME 유형을 지정하지 않았고 파이어폭스가 MIME 유형을 xml로 사용한다는 것입니다.이 코드는 xhr 응답의 MIME 유형을 지정합니다.

beforeSend: function(xhr){  xhr.overrideMimeType( "text/plain; charset=x-user-defined" );},

언급URL : https://stackoverflow.com/questions/7642202/xml-parsing-error-not-well-formed-in-firefox-but-good-in-chrome

반응형