2011-04-27 100 views
12

我有一個HTML頁面,我想使用Ajax填充。我從其他頁面複製了代碼(這些代碼都是用PHP編寫的,我不確定是否重要),並返回[object XMLDocument]。在其他頁面(PHP的)中,我得到了我在例程中打印的任何東西。jQuery Ajax調用返回'[對象XMLDocument]'

這是我有:

的index.html -

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

在JavaScript文件 -

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

在get_help_videos.php(顯然這只是暫時的代碼來嘗試弄清楚這是如何工作的) -

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

所以我期待(並希望)它會彈出一個提示,說'OK',這是它會在我的其他例程中執行的操作,但它會彈出[object XMLDocument]

我做錯了什麼?或者最好能夠忍受它,並解析XMLDocument

+0

爲什麼不強制進行類型? '{dataType:'text'}' – mattsven 2011-04-27 21:04:10

+0

這是什麼瀏覽器? – Neal 2011-04-27 21:04:28

+0

感謝您的回覆。我試圖強制這種類型,並沒有什麼區別。我在Firefox。 – Sharon 2011-04-28 10:06:07

回答

21

您需要包括你的數據類型參數AJAX調用,以表明你只是期待一個文本響應:

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

謝謝,但沒有任何區別。我仍然得到get_help_videos.php的內容。 – Sharon 2011-04-28 10:05:26

+1

'x.php的內容'是否意味着你得到返回頁面的實際PHP代碼?如果是這樣的話,你的服務器不能正確解釋PHP,這是一個設置問題。這也可以解釋爲什麼jQuery的ajax函數自動確定響應類型是XML。 – 2011-04-28 11:02:06

1

你可以試試下面的代碼。我只是測試它在Firefox 15.0.1和它工作得很好:

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

嘗試設置響應text/html的的內容型第一則說回聲「OK」這樣:

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

我得到了同樣的問題here,它只是解決了這個方法,因爲當我們不指定響應的內容類型的每個瀏覽器將作爲等不同格式的響應。

-1

你只需要告訴數據類型(它指示瀏覽器期望以所提及的格式響應,例如:「文本」格式)。 在這種情況下,我測試了這個Firefox和Mozilla.and它的工作原理.. :)

在firefox/Mozilla中檢查響應 - 你也可以在ajax請求後驗證即將到來的響應...按照以下步驟 - 在firefox/mozilla中按F12 - >轉到「控制檯」選項卡 - >轉到「響應」子選項卡。 :)

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