我的Ajax成功更新了數據庫中的一些信息,因此他應該更新一個顯示此信息的元素。但事實並非如此。但是,刷新頁面後,導致重新連接到數據庫,信息更新。下面是函數:從數據庫刷新數據,無需刷新頁面
function topUpTheBalance(){
var d = document.getElementById("numberForm").value;
$.ajax({
type: 'POST',
url: 'handler.php',
data: {
'topUpBalance':d,
},
success: function() {
var k = document.getElementById("balanceNumber");
k.innerHTML ="Your balance: "+ <?php echo $userRow['userBalance']; ?>;
}
}
);
}
和handler.php
<?php
ob_start();
session_start();
require_once 'dbconnect.php';
if(!isset($_SESSION['user'])) {
header("Location: index.php");
exit;
}
$res=mysqli_query($link, "SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysqli_fetch_array($res);
//$link = mysqli_connect("localhost","username","password", "users");
$bal = $userRow['userBalance']+$_POST['topUpBalance'];
if($stmt = mysqli_prepare($link, "UPDATE users SET userBalance = ? WHERE userId = ?")){
mysqli_stmt_bind_param($stmt, "di", $bal, $userRow['userId']);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $result);
mysqli_stmt_fetch($stmt);
mysqli_stmt_close($stmt);
}
mysqli_close($link);
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
<?php ob_end_flush(); ?>
任何人都可以建議我如何更新而無需刷新頁面的信息?
呼叫在哪裏? balanceNumber – mplungjan
它從html中的按鈕調用。 HTML文件非常大,所以我不想在這裏添加它。但正如我所說,阿賈克斯使他的工作,但他不能刷新數據,因爲它沒有在頁面上更新 –
我看不到你的代碼中的按鈕。 – mplungjan