2011-04-27 4 views
12

Ajax를 사용하여 채울 HTML 페이지가 있습니다. 다른 페이지의 코드를 복사했는데 (PHP로 작성된 코드입니다), 그 코드가을 반환합니다. 다른 페이지 (PHP 것들)에서 나는 루틴에서 인쇄 한 것을 얻는다. 여기jQuery Ajax 호출에서 [[object XMLDocument] '를 반환했습니다.

내가 가진 무엇 :

index.html을 - 자바 스크립트 파일에서

<html> ... </html> 
<script> 
$(document).ready(function() { 
getSplashHelpVideos(); 
}); 
</script> 

- get_help_videos.php에서

function getSplashHelpVideos() { 
$.ajax({ 
    url: "include/get_help_videos.php", 
    type: "POST", 
    success: function(data) { 
    alert(data); 
    } 
}); 
return; 
} 

(분명이가 시도하는 일시적인 코드는 어떻게 작동하는지 파악) -

<?php 
session_start(); 
echo 'OK'; 
return; 
?> 

그래서 나는 다른 루틴에서 할 수있는 'OK'라는 경고를 팝업으로 보내고 싶어했지만, 대신 [object XMLDocument]이 나타납니다.

내가 잘못 했나요? 또는 함께 살고 XMLDocument을 구문 분석하는 것이 가장 좋습니다.

function getSplashHelpVideos() { 
    $.ajax({ 
     url: "include/get_help_videos.php", 
     type: "POST", 
     dataType: "text", 
     success: function(data) { 
      alert(data); 
     } 
    }); 
    return; 
} 
+0

왜 형을 강제로? '{dataType : 'text'}' – mattsven

+0

어떤 브라우저입니까? – Neal

+0

답장을 보내 주셔서 감사합니다. 유형을 강요했지만 아무런 차이가 없었습니다. Firefox에 있습니다. – Sharon

답변

21

당신은 AJAX 호출이 단순히 텍스트 응답을 기대하고 있음을 표시하는 방법에 대한 데이터 유형 매개 변수를 포함해야합니다. 나는 파이어 폭스 15.0.1에 그것을 테스트 만했는데 그것은 잘 작동 : 응답 text/html과의 내용 유형을 설정하는

$.post("include/get_help_videos.php", function(data) 
{ 
    alert(data); 
}, "text"); 
+0

고마워요,하지만 그건 아무런 효과가 없었습니다. 나는 여전히 get_help_videos.php의 내용을 다시 얻는다. – Sharon

+1

'x.php의 내용'에 의해 페이지의 실제 PHP 코드가 반환된다는 뜻입니까? 그렇다면 PHP가 서버에서 올바르게 해석되지 않고 설정 문제입니다.이것은 또한 jQuery의 ajax 함수가 자동으로 응답 유형을 XML로 결정한 이유를 설명합니다. –

1

당신은 아래의 코드를 시도 할 수 있습니다 :

0

시도를 먼저 이 같은를 "확인"에코 말한다 :

header('Content-type: text/html'); 

저도 같은 문제 here를 가지고 우리가 응답의 내용 유형을 지정하지 않을 경우 모든 브라우저가 등등과 같은 다른 형식의 응답을 처리 이후 만이 방법으로 해결했다.

-1

데이터 유형 (예 : "텍스트"형식과 같이 언급 된 형식으로 만 응답 할 것으로 브라우저를 안내합니다.)을 지정하면됩니다. 이 경우 firefox 및 mozilla.and에서 테스트했습니다. :)

firefox/Mozilla의 응답을 확인하십시오 - 또한 Ajax 요청 후 응답을 확인할 수도 있습니다 ... 아래 단계를 따르십시오 - firefox/mozilla에서 F12 키 - "Console"탭으로 이동 -> "Response"하위 탭으로 이동하십시오. :)

function GetEmployeeListWS_REST() {   
      jQuery.ajax({ 
      url: "http://localhost:8080/RESTDemo/rest/hello/helloXML", 
      async: false, 
      type: 'GET', 
      contentType: "text/xml; charset=utf-8",     
      dataType: "text", 
      crossDomain: true, 
      //data: packet, 
      error: function (xhr, textStatus, errorThrown) { alert(xhr + ' ' + textStatus + '' + errorThrown); }, 
      success: function (response, status, xmlData) { 

       $("#EmployeeDetailsWs").text(response);      
      } 
     }); 

    } // ends : fun() 
0

변화 get_help_videos.php 파일 html/text로 응답 유형은

관련 문제