我想创建我的第一个AJAX调用。所有我想要做的就是发送邮件到我的数据库,将举行一个USER_ID,信息和日期。
截至目前什么也没有发生,即使当我点击提交按钮。这是为什么不提交和我不知道如果我正确地创建Ajax调用。
我是什么做错了吗?
我的Ajax调用
$(文件)。就绪(函数(){
$(#submit_announcement)。在(点击,函数(){
$ USER = THIS.VALUE;
$阿贾克斯({
网址:insert_announcements.php
键入:POST,
数据:用户名=+ $用户,
成功:函数(文本){
如果(文字==错误!){
警报(无法获取用户信息!);
$(。announcement_success)淡入()。
$(announcement_success)显示()。
$('。announcement_success)HTML(付款状态更改!)。
$('。announcement_success')延迟(5000).fadeOut(400)。
警报(数据);
} 其他 {
VAR txtArr = text.split('|');
}
},
错误:函数(XHR,textStatus,errorThrown){
警报(textStatus +|+ errorThrown);
}
});
});
});
表单
< DIV CLASS =announcement_success>< / DIV>
< P>添加新公告< / P>
<形式的行动=的方法=POSTID =insert_announcements>
< textarea的行数=4COLS =50ID =announcement_messageNAME =消息级=inputbarmessage占位符=消息需要>< / textarea的>
<标签=contactButton>
<输入类型=按钮级=contactButton值=公告栏ID =提交>
< /标签>
< /形式GT;
PHP文件insert_announcements.php
$ CON = mysqli_connect(本地主机,,,);
$ stmt2 = $ CON->(?INSERT INTO公告(USER_ID,信息,日期)VALUES(,,NOW())?)prepare;
如果($ stmt2 || $ CON->!错误){
//检查prepare错误
死亡(公告INSERT prepare()失败:用htmlspecialchars($ CON->错误)。);
}
如果($ stmt2->!bind_param(ISI,$ announcement_user_id,$ announcement_message)){
//检查错误绑定参数
死亡(公告INSERT bind_param()失败:用htmlspecialchars($ stmt2->错误));
}
如果($ stmt2->!执行()){
死亡(公告执行INSERT()失败:用htmlspecialchars($ stmt2->错误)。);
}
回声公告加入成功!;
其他
{
回声通知失败!;
}
解决方案
在你的PHP,你不能在}
和其他
}
回声公告加入成功!;
其他
I am trying to create my first AJAX call. All I am trying to do is send a message to my database that will hold a user_id, message, and date.
As of now nothing is even happening when I hit the submit button. Why is this not submitting and I'm not sure if I am creating the ajax call correctly.
What am I doing wrong?
My ajax call
$(document).ready(function () {
$("#submit_announcement").on("click", function () {
$user = this.value;
$.ajax({
url: "insert_announcements.php",
type: "POST",
data: "username=" + $user,
success: function (text) {
if (text == "Error!") {
alert("Unable to get user info!");
$(".announcement_success").fadeIn();
$(".announcement_success").show();
$('.announcement_success').html('Payment Status Changed!');
$('.announcement_success').delay(5000).fadeOut(400);
alert(data);
} else {
var txtArr = text.split('|');
}
},
error: function (xhr, textStatus, errorThrown) {
alert(textStatus + "|" + errorThrown);
}
});
});
});
The Form
<div class="announcement_success"></div>
<p>Add New Announcement</p>
<form action="" method="POST" id="insert_announcements">
<textarea rows="4" cols="50" id="announcement_message " name="message" class="inputbarmessage" placeholder="Message" required></textarea>
<label for="contactButton">
<input type="button" class="contactButton" value="Add Announcement" id="submit">
</label>
</form>
PHP file insert_announcements.php
$con = mysqli_connect("localhost", "", "", "");
$stmt2 = $con->prepare("INSERT INTO announcements (user_id, message, date) VALUES (?, ?, NOW())");
if ( !$stmt2 || $con->error ) {
// Check Errors for prepare
die('Announcement INSERT prepare() failed: ' . htmlspecialchars($con->error));
}
if(!$stmt2->bind_param('isi', $announcement_user_id, $announcement_message)) {
// Check errors for binding parameters
die('Announcement INSERT bind_param() failed: ' . htmlspecialchars($stmt2->error));
}
if(!$stmt2->execute()) {
die('Announcement INSERT execute() failed: ' . htmlspecialchars($stmt2->error));
}
echo "Announcement was added successfully!";
else
{
echo "Announcement Failed!";
}
解决方案
In your PHP you cannot echo between }
and else
}
echo "Announcement was added successfully!";
else