gpt4 book ai didi

php - jQuery 序列化数据未插入数据库

转载 作者:行者123 更新时间:2023-11-28 03:52:29 26 4
gpt4 key购买 nike

我正在做三件事。

我正在使用以下 HTML 表单向 jQuery 发送信息。

        <div id="note_add_container">
<form id="note_add" method="post">
<input type="text" name="name" placeholder="name" />
<input type="text" name="location" placeholder="location" />
<button id="submit_note">Add note!</button>
</form>
</div>

这是我用来将此类序列化信息发布到数据库中的 jQuery 脚本。

   $('button').click(function () {  
$.ajax ({
type: "POST",
url: "post.php",
data: $('#note_add').serialize(),
success: function(){
alert("Done");
}
});
});

这是将信息插入数据库的 PHP。

$name = $_POST['name'];
$location = $_POST['location'];

$sql = "INSERT INTO get (name, location)
VALUES ('$name', '$location')";
if (!mysqli_query($connection, $sql)) {
die('Error: ' . mysqli_error($link));
}

这是行不通的。我单击按钮,但没有任何反应。警报不会触发。关于为什么我的代码不起作用,谁能引导我正确的方向?

最佳答案

This does not work. I click the button and nothing happens. The alert does not fire

您完全确定点击处理程序有效吗?您必须首先确保它可以正常工作,例如,

   $('button').click(function () {  
alert('It works');
});

如果它有效,那么您可以继续前进。否则检查其内部 DOMReady $(function(){ ... }) 以及 jquery.js 是否已加载。

假设它有效,

您如何知道您的 PHP 脚本返回了什么?你只是假设它“应该工作”,在这里:

 success: function(){
alert("Done");
}

success() 方法实际上包含一个变量,该变量是来自服务器端的响应。它应该重写为,

 success: function(serverResponse){
alert(serverResponse);
}

至于PHP脚本,

if (!mysqli_query($connection, $sql)) {
die('Error: ' . mysqli_error($link));
}

您只能通过“回显”错误消息来处理失败。您不处理 mysqli_query() 返回 TRUE 的情况。您应该发送类似 1 的内容来表示成功。

最后你的代码应该是这样的,

   $('#submit_note').click(function() {  
$.ajax ({
type: "POST",
url: "post.php",
data: $('#note_add').serialize(),
success: function(serverResponse) {
if (serverResponse == "1") {
alert('Added. Thank you');
} else {
// A response wasn't "1", then its an error
alert('Server returned an error ' + serverResponse);
}
}
});
});

PHP:

$sql = "INSERT INTO get (name, location)
VALUES ('$name', '$location')";

if (!mysqli_query($connection, $sql)) {
die(mysqli_error($connection));
} else {
die("1"); // That means success
}

/**
* Was it $connection or $link?! Jeez, you were using both.
*
*/

关于php - jQuery 序列化数据未插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205460/

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