나는 빠른 $.get (url, function (response) {/ * ... * /})를 사용하여 데이터를로드하는 jQuery를 사용하는 JavaScript가 약간있다. 데이터는 스트레이트 업 텍스트 파일로 해당 응답 함수의 JavaScript가 처리합니다.내 AJAX 요청이 파일 확장자에 따라 오류를 발생시키는 이유는 무엇입니까?
이 아주 잘 나를 위해 일했지만, 난 그냥 내 컴퓨터에서이 문제에 달렸다 : 동일한 코드를 사용하여, 지금 오류가 말을 얻을 :
XML Parsing Error: not well-formed Location: moz-nullprincipal:{74091275-3d54-4959-9613-5005459421ce} Line Number 1, Column 16: image:tiles.png; ---------------^
내가 다른 서버에서이를로드하는 경우, 그것은 완벽하게 작동합니다. 그것은 내 자신의 PC에서이 오류가 발생했을 때만입니다 (이전에 우분투를 실행하고 Apache로 페이지를 서비스하는 내 PC에서도 완벽하게 작동했음을 참고하십시오). 많은 headbanging 후에, 내가로드 할 파일 이름의 확장자를 변경하면 잘 동작한다는 것을 발견했다. 이 파일은 이전에 "test.sprite"라는 이름으로 저장되었으며 오류가 발생했습니다. "test.txt"로 이름을 변경하면 잘로드됩니다.
이 오류는 내 시스템의 최근 업그레이드와 일치합니다. 우분투 10.10을 12.04로 업그레이드했습니다. 나는 그것이 아파치 설정에 어떤 종류의 업데이트가 있다고 가정하고 있는데, 이는 파일의 확장자에 따라 다른 헤더를 보내는 것을 알아 채지 못했다. (여기에있는 두 개의 파일은 동일하다. - .txt는 실제로는 .sprite에 대한 심볼릭 링크).
그래서 나는 당면한 문제에 대한 해결책을 가지고 있지만 시스템의 특질에 굴복하지 않을 것입니다. 어떻게 파일 이름을 바꾸지 않고이 문제를 해결할 수 있을지 궁금한가요?
요청과 함께 보내는 매개 변수는 무엇입니까? 데이터 형식? –
헤더가 잘못되었거나 존재하지 않으며 $ .ajax의 dataType을 설정하지 않으면 루트가 될 수 있습니다. 하나 또는 둘 다를 설정하여 문제를 해결해야하며 둘 다 설정하는 것이 이상적입니다. AJAX 요청에 대해 매우 쉽게 데이터 유형을 설정할 수 있습니다. – charlietfl