Javascript jQuery Ajax调用返回';[对象XML文档]';

Javascript jQuery Ajax调用返回';[对象XML文档]';,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个HTML页面,我想用Ajax填充它。我从其他页面复制了代码(这些页面都是PHP,我不确定这是否重要),它返回[object XMLDocument]。在其他页面(PHP页面)中,我得到例程中打印出来的任何内容 以下是我所拥有的: index.html- <html> ... </html> <script> $(document).ready(function() { getSplashHelpVideos(); }); </script>

我有一个HTML页面,我想用Ajax填充它。我从其他页面复制了代码(这些页面都是PHP,我不确定这是否重要),它返回
[object XMLDocument]
。在其他页面(PHP页面)中,我得到例程中打印出来的任何内容

以下是我所拥有的:

index.html-

<html> ... </html>
<script>
$(document).ready(function() {
 getSplashHelpVideos();
});
</script>
在get_help_videos.php中(显然,这只是尝试了解其工作原理的临时代码)——


所以我期望(并且希望)它会弹出一个警告,说“OK”,这是它在我的其他例程中所做的,但它会弹出
[object XMLDocument]


我做错什么了吗?还是最好接受它,并解析
XMLDocument

您需要在AJAX调用中包含数据类型参数,以表明您只需要一个文本响应:

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

您可以尝试下面的代码。我刚刚在Firefox 15.0.1上进行了测试,效果良好:

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

尝试先将响应的内容类型设置为text/html,然后说echo“ok”,如下所示:

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

我也遇到了同样的问题,它只是通过这种方式解决的,因为当我们不指定响应的内容类型时,每个浏览器都会以不同的格式处理响应。

您只需要告诉数据类型(指向浏览器的数据类型)您只希望以提到的格式响应,例如:“文本”格式)。 在本例中,我在firefox和mozilla中对此进行了测试

检查firefox/Mozilla中的响应-您还可以在ajax请求之后验证即将到来的响应。。。按照以下步骤操作-- 按firefox/mozilla中的F12键-->转到“控制台”选项卡-->转到“响应”子选项卡。:)


在get\u help\u videos.php文件中将您的响应类型更改为
html/text

为什么不强制类型<代码>{dataType:'text'}这是什么浏览器?感谢您的回复。我试着强制输入,结果没有什么不同。我在Firefox上。谢谢,但这没什么区别。我仍然得到了get_help_videos.php的内容。你说的“contents of x.php”是指你得到了返回页面的实际php代码吗?如果这种情况下,您的服务器没有正确解释PHP,这是一个设置问题。这也解释了为什么jQuery的ajax函数会自动确定响应类型为XML。
$.post("include/get_help_videos.php", function(data)
{
    alert(data);
}, "text");
header('Content-type: text/html');
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()