【发布时间】:2014-11-15 19:27:48
【问题描述】:
我知道以前有人问过这个问题,但我似乎可以找到解决我的问题的解决方案。我正在尝试使用 Ajax 帖子将数据发布到 Mysql 数据库
HTML
<form action="" method="post">
<input type="text" id="message" name="message">
<<input type="submit" value="Send" id="submit">
</form>
Ajax 帖子
$(document).ready(function(){
$("#submit").click(function(){
var message = $("#message").val();
var data = "message=" + message;
console.log(data);
if(message != ''){
console.log(data);
$.ajax({
type: "POST",
url: "classes/messages.php",
data: data,
succes: function(){
alert("succes");
}
});
}
return false;
});
});
PHP 代码
class messages{
function getMessages(){
$con = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
$message = $_POST['message'];
mysqli_query($con, "INSERT INTO messages(message, time, user_id)
VALUES('$message', 'now()', '12')")or die(mysqli_error($con));
mysqli_close($con);
}
}
$messages = new Messages();
$messages->getMessages();
每次我提交表单时都没有发生任何事情,甚至没有出现 php 错误。我检查了 Ajax 帖子,并且两个 console.logs 都返回了正确的值,所以我认为该变量是可以访问的。
我还检查了php函数是否被执行,是这样的。
【问题讨论】:
-
尝试从开发人员工具或 Firebug 的网络选项卡中检查 XHR。你可以在那里找到你想要的所有信息:标题、发布的数据、接收的数据等。
-
在 ajax 请求正文中放置一个错误处理程序(以防万一)。还;你应该检查你的代码是否有 SQL 注入。