gpt4 book ai didi

javascript - 使用 Ajax 发布数据

转载 作者:搜寻专家 更新时间:2023-10-30 23:33:04 25 4
gpt4 key购买 nike

我一直在尝试使用 AJAX 发布数据,这将更新我数据库中的一个字段,但是我在这样做时遇到了麻烦。一切似乎都应该运行良好,我在控制台中没有收到任何错误,但我不知道为什么我的数据库不会更新。

有人可以帮我吗?

AJAX:

function ajaxUpdate() {
var arr = {var1: name, var2: age};
$.ajax({
url: 'ajax/confirm.php',
type: 'POST',
data: JSON.stringify(arr),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(data) {
console.log("success");
}
});
}

Confirm.php:

$name=$_POST['var1'];
$age=$_POST['var2'];

if($name == "Stuart") {
mysqli_query($connection,"UPDATE people SET age='$age'");
}
else if($name == "Peter") {
mysqli_query($connection,"UPDATE people SET age='$age'");
}

与我的数据库的连接工作正常,因为我设置了 $connection 并在我的浏览器中转到页面 /ajax/confirm.php,我看到“连接成功"在我的控制台中,如我所定义的,如果成功的话。

所以我不确定为什么不更新?

我的值(value)观没有被正确发布吗?

我是 AJAX 的新手,如果这是非常简单的事情,请原谅我!

谢谢

最佳答案

尝试以下操作:

function ajaxUpdate() {
var arr = {var1: name, var2: age};
$.ajax({
url: 'ajax/confirm.php',
type: 'POST',
data: arr,
success: function(data) {
console.log("success");
}
});
}

不是将对象转换为 json 字符串,而是按原样发送。

编辑: 同时删除 dataType 和可能的 contentType。您的代码存在 SQL 注入(inject)风险。检查准备好的语句和转义 mysql 数据。

关于javascript - 使用 Ajax 发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46487916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com