2011-05-02 3 views
1

다음 예제에서 'xxx.xml'은 유효한 XML 파일이고 'xxx.txt'는 복사본입니다 (확장명은 변경됨).내 AJAX 요청이 리소스의 파일 확장명에 의존하는 이유는 무엇입니까?

왜 내 AJAX 요청에서 파일을 교환 할 수 없습니까?

function test(url, handleT){ 
    dojo.xhrGet({ 
     url: url, 
     handleAs: handleT, 
     load: function(data, ioArgs) { 
      console.log('data=',data); 
     } 
    }); 
} 

test('xxx.xml', 'xml'); //Works OK 
test('xxx.txt', 'text'); //Works OK 
test('xxx.xml', 'text'); //Works OK 

test('xxx.txt', 'xml'); //data === null ?! 

이미 나를 위해 이러한 변환을 어떻게해야 handleAs 매개 변수 아니었다?

일반적인 것입니까, 아니면 Dojo에서만 발생합니까?

답변

0

웹 서버는 확장 프로그램에 대해 다른 콘텐츠 유형을 제공합니다. .xml을 고수하거나 웹 서버에서 변경하십시오.

편집

조금 더 구체적으로 : XML은 텍스트도이기 때문에, 텍스트로 "다운 그레이드"할 수 있습니다 - 모든 XML-문서는 텍스트 문서입니다. 모든 텍스트 문서가 XML 문서가 아니므로 XML 문서로 "업그레이드"할 수는 없습니다.

웹 서버는 .txt를 "일반/텍스트"로 제공하며 XML이 아닙니다. 당신은 디렉토리에 htaccess로에서 당신이 쓰는 경우에 당신이 원하는대로 확장 다음을 사용할 수 있습니다

1

가 포함 된 파일 :

ForceType text/xml 
관련 문제