php - AJAX 调用不发送

标签 php jquery ajax forms

我正在尝试创建我的第一个 AJAX 调用。我要做的就是向我的数据库发送一条消息,其中包含用户 ID、消息和日期。

截至目前,当我点击提交按钮时什么都没有发生。为什么这没有提交,我不确定我是否正确创建了 ajax 调用。

我做错了什么?

我的ajax调用

$(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);
            }
        });
    });
});

表格

<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 文件 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!";
    }

最佳答案

您的按钮的 jquery 选择器错误,将其更改为:

$("#submit").on("click", function(){

关于php - AJAX 调用不发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31965723/

相关文章:

php - 通过 mysql_query 进行 SQL 注入(inject)

php - 如何从 MySQL 数据库中提取某个项目的类别和标签?

jquery - 如何清除使用 jquery validate 和自定义 errorPlacement 时的错误

jquery - 图像映射 : show alternate image of areas on mouseover

Jquery发布然后立即在同一页面上显示发布的数据

php - Yii 加入后忽略自定义字段

php格式化花括号

Jquery-fancybox

javascript - 在不重新加载整个页面的情况下重新执行js

javascript - jQuery: "Access to restricted URI denied"中的跨域 AJAX 调用结果(代码 1012)