试图让JavaScript触发PHP脚本向表中添加一行,但它';It’不起作用


Trying to make JavaScript trigger a PHP script to add a row to a table, but it's not working

我的JavaScript文件中有这个。我知道它被称为:

        var data = "hi";
        $.ajax({
            type: "POST",
            url: "../register_email.php",
            data: data,
            success: function(data) {
                alert("worked!");
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert("NOPE");
                $(".contact-form").hide();
                $(".alt-contact").hide();
                // Inserts divs making up the success message for the form submission
                $(".contact-form").html("<div class='error-message'><div class='error-image'></div><div class='error-title'>Whoops! An error occurred.</div><div class='error-body'>That's strange... Please <a href='mailto:support@syllableapp.com'>email me</a> instead. Sorry about that.</div></div>");
                $(".contact-form").fadeIn(500);
            }
        });

它调用这个PHP文件:

<?php
    $db = new mysqli("localhost", "name", "pass", "db");
    if ($db->connect_error) {
        echo "Could not connect to database.";
        exit;
    }
    else {
        $db->query("INSERT INTO emails (email) VALUES ('trying')");
        echo 1;
    }
?>

但它从不做任何事情。它只是提醒我"NOPE"。我只想让它添加行,但当我检查服务器时,它从来没有这样做过。但是,如果我只是在浏览器中导航到register_emails.php,它就会加载并添加它。

错误很可能是由于错误的URL引起的,请使用绝对URL(如果可能)并确保页面可访问。

此外,在.error(/*...*/)函数中添加这些行,这样您就可以知道发生了什么错误:

error: function(jqXHR, textStatus, errorThrown) {
    alert('Error Message: ' + textStatus);
    alert('HTTP Error: ' + errorThrown);
    /* ... */
}

您的数据不是有效的JSON,您可以执行以下操作:

{ "message": "hi" }

JSON Lint

相关文章: