当我点击按钮时,它应显示按钮
下方的计数值(来自数据库)<button id="update">update</button>
<script>
$(document).ready(function() {
$('#update').click(function(){
var complete = 0;
$.ajax({
type: "POST",
URL: "functions/doneex.php",
data: {
complete: complete
},
success: function(res) {
//alert(res);
}
});
});
})
</script>
<?php
echo $res ;
?>
(从db获取值)由ajax
调用doneex.php
$query=$conn->prepare("SELECT COUNT(isdone) AS complete FROM $today_workout_tbl WHERE isdone=1");
$query -> execute();
$query -> bind_result($complete);
$query -> fetch();
$query -> close();
echo $complete;
答案 0 :(得分:0)
在PHP中,您可以使用内置的gobals数组访问post请求中传递的数据:
$ res = $ _REQUEST ['res']
要将它们包含在ajax请求中,您需要:检索形式元素的值,例如:
var valueOfResField = $('[name = res]')。value
并通过ajax请求发送:
$.ajax({
type: "POST",
URL:"functions/doneex.php",
data:{complete :complete, res: valueOfResField},
success:function(res){
//alert(res);
$("#done").html(res);
}});
如果要在PHP中处理此变量值并将修改后的值返回到表单中,则必须将值存储在服务器上并进行ajax调用以再次检索该值并修改显示的值HTML页面。
答案 1 :(得分:0)
问题非常模糊,但我认为您希望将.ajax调用的数据类型设置为JSON,然后使用json_encode(...)从PHP脚本返回数据。这是获取从PHP脚本返回的数据的简单(可读)方式(在您的示例中为doneex.php)。
以下是一个例子:
使用Javascript:
$.ajax({
url: '/ajax/do_php_stuff.php',
type: 'POST',
data: 'pid=' + personid ,
dataType: 'json',
success: successCallback
});
function successCallback(response, status) {
if (response.ok) {
alert(response.data);
}
}
PHP(/ajax/do_php_stuff.php)
<?php
echo json_encode(Array('ok' => true, 'data'='hello');
?>
将此应用于您更新的问题:
<button id="update">update</button>
<script>
$(document).ready(function() {
$('#update').click(function(){
var complete = 0;
$.ajax({
type: "POST",
URL: "functions/doneex.php",
data: {
complete: complete
},
dataType: 'json'
success: function(res) {
alert(res.complete);
}
});
});
})
</script>
<?php
echo $res ;
?>
(从db获取值)由ajax
调用doneex.php
$query=$conn->prepare("SELECT COUNT(isdone) AS complete FROM $today_workout_tbl WHERE isdone=1");
$query->execute();
$query->bind_result($complete);
$query->fetch();
$query->close();
echo json_encode(Array('complete' =>$complete));
但是当ajax运行之前输出脚本时,第一个脚本中的“echo $ res”将被呈现,...因此该部分永远不会工作。如果你现在正在运行PHP,你应该将函数中的doneex.php包装起来并从两个脚本中调用它!或者,如果您希望在单击按钮时更新它,然后将值放在a中并使用jQuery在div中设置文本.text()