2012-02-16 4 views
1

내 (XCode) iPhone 시뮬레이터 (PhoneGap 사용)의 로컬 파일에서 간단한 $.get() 요청을하려고하는데 결과가 계속 반환됩니다. 파일의 실제 내용 대신 "[object Document]"(경고)을 사용하십시오.

그러나 Google 크롬에서 테스트 할 때 전혀 문제가 없습니다. 이상한 점은 내가 $.load() (아이폰 시뮬레이터에서) 아무 문제없이 로컬 페이지를 볼 수 있지만, $.get()으로 시도하면 작동하지 않을 것이다.

다음
<script type="text/javascript" src="js/phonegap.js"></script> 
<script type="text/javascript" src="js/jquery.js"></script> 

<div class="load"></div> 

<script> 

    $.get('content/view/images.html', function(data) { 

     alert(data); // returns "[object Document]" 

    }); 

    $('.load').load('content/view/images.html'); // returns actual file content 

</script> 

content/view/images.html 코드입니다 : 여기

index.html 코드입니다, 내가 LOL 같은 뭔가 content/view/images.html의 내용을 변경할 때, 그러나

<img src="http://static.example.com/images/{$file_key}.{$file_type}" style="max-width: 100%; max-height: 200px;" /> 

$.get()을 제대로 것 .

세계에서 무슨 일이 벌어지고 있는지에 대한 아이디어가 있습니까?

+0

'경고()'적절한 디버깅 도구가 아닙니다. 문자열 만 표시 할 수 있으므로 다른 것이 유용 할 수도 있고 그렇지 않을 수도있는 문자열 표현으로 변환됩니다. – ThiefMaster

답변

11

,이 데이터를 다시 데이터를 다시 전송 MIME 타입에 기초 오는 무엇을 생각합니다. 문서를 다시 가져 오는 중이라면 돌아올 MIME 유형은 XML이어야합니다 (HTML 페이지가 X HTML이거나 아마도 서버가 말하는 것임). 합니다 (dataType 옵션에 $.ajax 설명서를 참조하십시오; 유일한 시간은 jQuery를 문서는 XML을 처리 할 때 만들어집니다.)

당신은 그것을 직후 인수를하는 dataType를 제공함으로써 당신은 항상 텍스트로 원하는 jQuery를 알 수 있습니다 $.get에서 성공 핸들러 : 옵션에 대한

$.get('content/view/images.html', function(data) { 

    alert(data); 

}, "text"); 
// ^--- new bit 

... 또는 당신이 그것을 지정할 수는 $.ajax 객체를 :

$.ajax({ 
    url: 'content/view/images.html', 
    dataType: "text",  // <=== new bit 
    success: function(data) { 

     alert(data); 

    } 
}); 
1

이 시도 : 당신이 다른 jQuery를 이야기하지 않는

$.ajax({ 
    url: 'content/view/images.html', 
    success: function(data) { alert(data); }, 
    dataType: "text" 
}); 
관련 문제