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