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()