AJAX调用不发送AJAX

2023-09-10 14:15:31 作者:没人要的小可爱

我想创建我的第一个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);
            }
        });
    });
});
 

表单

 < D​​IV 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->错误)。);
    }
        回声公告加入成功!;
    其他
    {
         回声通知失败!;
    }
 
Ajax有哪些请求方式

解决方案

在你的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

 
精彩推荐