Javascript 成功向数据库添加记录时自动发出警报 (ajax)

Javascript automatically alerts when successfully adding a record to database (ajax)

我正在构建一个简单的聊天应用程序,每次我点击发送按钮(向数据库添加一条记录)时,我都会收到一条提示“成功”。在我的代码中,我没有告诉它给我一个成功警报,只有一个错误警报。这是单击发送按钮时调用的代码

function formCheck(e){
e.preventDefault();
// ensure message has text
if(msg.value.trim() != ""){
    $.ajax({
        type: 'POST',
        url: '../handle_message.php',
        data: {
            name: name,
            color: color,
            msg: $( "#msg" ).val(),
        },
        datatype: 'JSON',
        success: function(bool){
            if (bool == "failure") {
                alert("Failure Inside Success function");
            }
        },
        error: function(){
            alert("Failure, could not send message");
        },
    });
}
}

php:

require_once("Database.php");
$dbc = $conn->getConnection();

$sql = "INSERT INTO Table (name, color, msg) VALUES (:name, :color, :msg)";
$statement = $dbc->prepare($sql);
$statement->bindValue(":name", $_POST['name']);
$statement->bindValue(":color", $_POST['color']);
$statement->bindValue(":msg", $_POST['msg']);
$result = $statement->execute();

if(!$result){
    echo "failure";
}

php 正常工作。我只是不确定为什么在单击按钮后会弹出成功窗口。任何帮助将不胜感激。

更新:我只在 Google Chrome 中对此进行了测试。一旦我切换到 Firefox,警报就消失了,我猜这是 chrome?

返回 Google Chrome 选项卡,按住 shift 键并按刷新就成功了!感谢所有花时间发表评论的人

轮班重新加载

请求刷新时按住 Shift 键会告诉浏览器从服务器重新加载所有内容,而不使用缓存副本。查看使用 file:// 协议的页面时,应确保从本地存储重新加载页面文件而不是(比如)历史快照,但如果问题仍然存在,请关闭并 re-open 浏览器。

我可能在上个世纪的 Netscape 文档中了解到这一点 - 现在记录它需要时间和比我尝试的更深入的搜索。


FWIW 关于发送到服务器的 headers 的技术细节在超级用户的 this answer 中介绍。