我在PHP页面中使用AJAX从MySQL数据库调用联系人列表。数据被正确调用,但是当我在浏览器中调用PHP页面时,我可以看到联系人列表(来自DB的数据)显示在元数据之前的页面顶部。该列表应显示在已定义的DIV中,但由于某种原因,它不是。以下是我的代码:
Ajax代码:
function getUserList(){
var ajaxDisplay = myform.getElementById('displayList'); // HTML Div where data should be displayed
try{ //for Firefox, Chrome, Opera, Safari, IE7+
var activeX = new XMLHttpRequest(); //initializing object
}catch(e){
try{// for IE5 , IE6
var activeX = new ActiveXObject(Msxml2.XMLHTTP);
}
catch(e){
alert("Dude your browser is in Jurassic era!");
}
}
activeX.readystatechange = function{
if(activeX.readyState == 4){
var queryResult = activeX.responseText;
if(!queryResult){
ajaxDisplay.innerHTML = 'Error in populating list';
}else{
ajaxDisplay.innerHTML = queryResult;
}
}
}
activeX.open("GET", "?action=contactsandgroups", true);
activeX.send(null);
}
PHP / HTML代码:
<div class="contacts_list_data_contacts" id="displayList"></div>
MySQL功能:
while($row=mysql_fetch_assoc($res_info)){
print '<div class="contacts_headings_01">
<div class="contacts_checkbox_01"><input name="contact_id[]" id="contact_id" type="checkbox" value="'.$row['contact_id'].'" style="margin-top:0px ; margin-left:-3px;" /></div>
<div class="contacts_firstname_01_contacts">'.$row['firstname'].'</div>
<div class="contacts_firstname_01">'.$row['lastname'].'</div>
<div class="contacts_firstname_01">'.$row['company'].'</div>
</div>';
}
当我查看页面源时,它显示它在页面顶部打印数据。这种情况发生在Firefox,Chrome和Internet Explorer中。
答案 0 :(得分:2)
我看到的是,您希望?action=contactsandgroups
的此输出填充在div#displayList
中。如果是这种情况,请尝试以下方法:
在<head>
部分添加此内容:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
function getUserList()
{
ajaxDisplay = $("#displayList");
ajaxDisplay.load('?action=contactsandgroups');
}
</script>
尝试一下,看看它是否有效。如果没有,请将HTML代码发送给您,您可以在其中调用该函数。