我的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