我完全糊涂了:
这是我的php脚本“add_credits.php” . 如果我创建一个表单并通过method =“post”调用它,它运行得很好 .
$stmt = "UPDATE sites SET credits=:credits WHERE id=:id";
$stmt = $db->prepare($stmt);
$stmt ->execute( array( ":credits" => $_POST['cred'], ":id" => $_POST['id'] ) );
这是我的输入字段,触发jquery / ajax .
<input id="<?php echo $row['id']; ?>" type="text" class="credits" value="<?php echo $row['credits']; ?>" />
这是我的jquery,它会在成功时正确回显警报框中的变量 .
$(".credits").bind('input', function() {
var add_id = $(this).attr("id");
var info = 'id=' + add_id;
var add_cred = $(this).attr("value");
var info2 = 'cred=' + add_cred;
$.ajax({
type : "POST",
url : "add_credits.php", //add credits on enter php script
data : {info:info, info2:info2},
success : function() {
alert(info2);
}
});
return true;
});
那么为什么它的报告成功,但没有执行UPDATE,好像php没有收到$ _POST细节?我错过了什么?
2 回答
您不必手动序列化这样的数据
在PHP方面,请确保您正在阅读
info
和info2
您可以将字段命名为
id
和cred
,如果这是您所希望的 . 这会将jQuery数据更改为此然后确保在PHP中阅读
$_POST['id']
和$_POST['cred']
使用以下jquery代码: