當涉及到Javascript我不知道我在做什麼只是嘗試和錯誤的方法。一直試圖做我的AJAX和Javascript的研究,迄今爲止沒有運氣,所以請指出我的方向是正確的。 基本上我需要刷新一個DIV每個讓我們說5s與從PHP生成的數據=>數據庫, 在頁面的第一次加載一切都很好,因爲它直接從PHP獲取數據,但是當JavaScript踢了客棧我得到的是[object XMLHttpRequest ]代替DIV內容;如何通過refreshDiv在PHP中正確處理對象XMLHttpRequest
HTML
<script type="text/javascript"></script>
<script>
window.setInterval("refreshDiv()", 5000);
function refreshDiv(){
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
console.log(request.responseText);
}
}
request.open('GET', 'http://www.mysite.com/getuserinfo.php', true);
request.send();
document.getElementById("usinfo").innerHTML=request;
}
</script>
</head>
<body>
<div id="page">
然後DIV
<div id="usinfo" class="wrap">
<?php include("getuserinfo.php"); ?>
</div>
而且PHP是這樣的:提前
require_once('../mysqli_connect.php');
$userid = 1000042;
$us_credit = 0 ;
$us_prof_view = 0 ;
$us_new_msg = 0 ;
//Get $us_credit , $us_prof_view , $us_new_msg
$q="SELECT ac_ballance, prof_views, COUNT (msg_id) AS messages FROM user_details INNER JOIN com_msg ON us_name = msg_to WHERE user_id =".$userid." AND msg_new =1";
$r = mysqli_query($dbc,$q);
if(mysqli_num_rows($r)== 1) {
$us_data = mysqli_fetch_array($r,MYSQLI_ASSOC);
$us_credit = $us_data['ac_ballance'];
$us_prof_view = $us_data['prof_views'];
$us_new_msg = $us_data['messages'];
}
mysqli_free_result($r); #not needed
?>
<p class="whtxt">Your Credits :
<?php echo $us_credit ; ?>
Profile views :
<?php echo $us_prof_view ; ?>
<a class="whtxt" href="http://www.mysite.com/inbox">New Messages :
<?php echo $us_new_msg ; ?>
</a>
</p>
感謝
您忘記使用'.responseText'設置'innerHTML' –
還您innerHTML的設置應該發生在onreadystatechange的回調,就在控制檯日誌 –
剛加入.responseText何時,什麼也不做,我得到絕對沒有什麼 – bart