0

我在 PHP 页面中使用 AJAX 从 MySQL 数据库中调用联系人列表。数据被正确调用,但是当我在浏览器中调用 PHP 页面时,我可以看到联系人列表(来自 DB 的数据)显示在元数据之前的页面顶部。该列表应该显示在定义的 DIV 中,但由于某种原因它不是。下面是我的代码:

阿贾克斯代码

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 中。

4

1 回答 1

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 代码发送给我。

于 2012-06-24T06:31:03.330 回答