jQuery Ajax调用返回”

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

这就是我所拥有的:

index.html –

  ...   $(document).ready(function() { getSplashHelpVideos(); });  

在javascript文件中 –

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

在get_help_videos.php中(显然这只是临时代码,试图弄清楚它是如何工作的) –

  

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

难道我做错了什么? 或者最好忍受它,并解析XMLDocument

您需要在AJAX调用中包含datatype参数,以指示您只是期望文本响应:

 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'); 

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

将您的响应类型更改为get_help_videos.php文件中的html/text

您只需要告诉数据类型(指向您希望以上述格式响应的浏览器,例如:“text”格式)。 在这种情况下,我在firefox和mozilla中测试了它。它工作.. 🙂

检查firefox / Mozilla中的响应 – 您还可以在ajax请求后validation即将发生的响应…按照以下步骤操作 – 在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()