2011-11-27 2 views
0

XML 파일을 다운로드하려고하는데 .xml 확장자가 없습니다. 예 :.xml 확장자없이 XML 문서 받기

 
$.ajax({ 
     type: "GET", 
     url: template.tmx, 
     dataType: "xml", 
     async: false, 
     success: function(xml, textStatus, jqXHR){ 
       k.operations.load.processMap(xml); 
     } 
}); 

그러나 이것은 작동하지 않습니다. 성공 함수는 결코 해고되지 않습니다.

dataType: "xml", 행을 제거하면 실제로 성공 함수가 실행됩니다.

하지만 잘못된 것입니다. 예를 들어 $(xml).find()과 같이 결과로 아무 것도 할 수 없습니다. 일반적으로 jquery에 XML 문자열을 전달하면 처리해야하지만 작동하지 않습니다.

는 현재 XML 파일을 찾을 수 있습니다 http://kipdola.be/subdomain/kiflea/template.tmx

+1

'Content-Type : text/xml'을 헤더의 일부로 보냅니 까? – JCOC611

답변

2

가 확장 문제가되지 않습니다,하지만 MIME 타입을 수행합니다. 귀하의 리소스가 방출

content-type: text/plain 

jQuery는 XML 형식으로 응답을 처리하는 것을 거부하는 것 같습니다.

content-type 서버가 자원에 대해 방출하거나, 그렇지 않으면 "정상적인"Ajax 요청을 사용하여 데이터를 가져 와서 수동으로 구문 분석해야합니다.

편집 : jQuery를 1.5로

이, JQuery와 당신이 무엇을 필요로 컨텐츠 유형 헤더에서받은 것과 데이터 형식을 변환 할 수 있습니다
는 jQuery를 1.5 이후 convert on the fly에 방법이있을 것 같다 . 당신은 텍스트 응답을 XML로 처리하려는 경우 예를 들어, 당신은 당신의 웹 서버가 text/xmlContent-Type으로 파일을 제공합니다 있는지 확인해야 데이터 유형에 대한 데이터

1

을 "텍스트 XML"을 사용합니다. 현재 파일은 text/plain으로 제공되고 있습니다. 따라서 dataType: "xml"을 지정하면 jQuery가 success 함수를 호출하지 않습니다.