0

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 で発生します。

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 に答える