我正在尝试进行某种简单的文字聊天。
我有两个PHP文件(index.php
和send.php
)和一个javascript脚本(script.js
)。
在index.php
中,我得到以下表格:
<form id="formSend" method="post">
<input id="inputMsg" class="form-control input-msg" type="text" name="msg" autocomplete="off">
<button id="btnSend" class="btn btn-success button-send" type="submit" name="send">Send</button>
</form>
为防止页面重新加载,我的javascript文件中的ajax请求会发送数据:
$('#formSend').submit(function(e){
e.preventDefault();
var url="send.php";
var posting = $.post(url, {msg: $('#input-msg').val() });
posting.done(function(data){
$('#inputMsg').val('');
console.log('success');
});
});
ajax请求有效(在控制台中记录成功),但在send.php
中
没有任何反应。
我在send.php
中使用以下代码:
if ($_SERVER["REQUEST_METHOD"] == "POST"){
if(isset($_POST['msg']) && !empty(trim($_POST['msg']))){
$msg = htmlspecialchars(trim($_POST["msg"]));
$check = true;
}
else{
$check = false;
}
if ($check = true) {
$query = "INSERT INTO chat(message) values (?)";
$stmt = $mysqli->prepare($query);
if($stmt===false){
$error = 'Database error';
}
if(!$stmt->bind_param('s', $msg)){
$error = 'Database error';
}
if(!$stmt->execute()){
$error = 'Database error' . $mysqli->error;
}
if(empty($error)){
$mysqli->close();
$success = 'Success';
}
}
}
我错过了什么吗?我真的不知道为什么它不起作用......
答案 0 :(得分:1)
<input id="inputMsg" class="form-contr .... >
并且
var posting = $.post(url, {msg: $('#input-msg').val() });
不匹配。
删除-
和大写M