我有一个HTML页面,我想用Ajax填充。我已经从其他页面复制了代码(这些代码都在PHP中,我不确定这是否重要),并且它正在返回[object XMLDocument]
。在其他页面(PHP版本)中,我得到了我在例程中打印出的任何内容。
这就是我所拥有的:
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 :(得分:25)
您需要在AJAX调用中包含datatype参数,以指示您只是期望文本响应:
function getSplashHelpVideos() {
$.ajax({
url: "include/get_help_videos.php",
type: "POST",
dataType: "text",
success: function(data) {
alert(data);
}
});
return;
}
答案 1 :(得分:1)
您可以尝试以下代码。我刚刚在Firefox 15.0.1上测试过,它运行良好:
$.post("include/get_help_videos.php", function(data)
{
alert(data);
}, "text");
答案 2 :(得分:0)
首先尝试将响应的内容类型设置为 text / html ,然后像这样说 echo“ok”:
header('Content-type: text/html');
我遇到了同样的问题here并且它只是以这种方式解决了,因为当我们没有指定响应的内容类型时,每个浏览器都会以不同的格式处理响应。
答案 3 :(得分:0)
将您的响应类型更改为get_help_videos.php文件中的html/text
答案 4 :(得分:-1)
您只需要告诉数据类型(指向您希望以上述格式进行响应的浏览器,例如:“text”格式)。 在这种情况下,我在firefox和mozilla中测试了它。它的工作原理.. :)
检查firefox / Mozilla中的响应 - 您还可以在ajax请求后验证即将发生的响应...按照以下步骤 - 在firefox / mozilla中按F12 - &gt;转到“控制台”标签 - &gt;转到“响应”子选项卡。 :)
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()