使用AJAX时,当前页面可以';得不到响应的DOM元素,JavaScript不会';也不行
在我的当前页面中,有一个排序函数,它将通过AJAX将条件发送到另一个php文件进行查询,然后将结果返回到当前页面 单击当前页面上的按钮可触发以下功能:使用AJAX时,当前页面可以';得不到响应的DOM元素,JavaScript不会';也不行,javascript,php,html,ajax,Javascript,Php,Html,Ajax,在我的当前页面中,有一个排序函数,它将通过AJAX将条件发送到另一个php文件进行查询,然后将结果返回到当前页面 单击当前页面上的按钮可触发以下功能: function refineResult(){ var setStatus = document.getElementById("sortByStatus").value; var setSales = document.getElementById("sort
function refineResult(){
var setStatus = document.getElementById("sortByStatus").value;
var setSales = document.getElementById("sortBySales").value;
var setRecordCount = document.getElementById("recordPerPage").value;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("showTable").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","showWorkOrder.php?selectStatus="+setStatus+"&selectSales="+setSales+"&selectCount="+setRecordCount+"&orderby="+sortingKey+"&direction="+direction,true);
xmlhttp.send();
}
<div id="showTable"></div>
结果将返回并显示到当前页面中的以下元素:
function refineResult(){
var setStatus = document.getElementById("sortByStatus").value;
var setSales = document.getElementById("sortBySales").value;
var setRecordCount = document.getElementById("recordPerPage").value;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("showTable").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","showWorkOrder.php?selectStatus="+setStatus+"&selectSales="+setSales+"&selectCount="+setRecordCount+"&orderby="+sortingKey+"&direction="+direction,true);
xmlhttp.send();
}
<div id="showTable"></div>
问题1:我无法访问AJAX结果返回的任何DOM元素。在加载的页面上,我检查了源代码,浏览器显示的是上面的元素,没有AJAX返回的确切html代码
问题2:因为我无法从AJAX结果访问任何DOM元素,所以我尝试在另一个php文件中包含JavaScript来操作查询结果,但是,JS似乎也无法处理返回结果
出于测试目的,我在另一个php文件的html部分创建了一个
,然后使用JS简单地设置div元素的innerHTML,但是在我的当前页面上,内容没有显示出来
那么,如何使用JS访问AJAX结果返回的元素呢?谢谢。我通过将JS包含在AJAX代码的“success”函数中解决了这个问题。我从你那里得到了这个答案
不过,这是一种好的做法吗?您必须等到上述元素存在后,才能尝试访问它们。