【问题标题】:what would cause my ajax to not follow through all commands?什么会导致我的 ajax 无法执行所有命令?
【发布时间】:2019-02-07 23:22:22
【问题描述】:

我的插入 ajax 代码会刷新页面,但不会发出警报(“添加成功”)。数据确实回显了我仔细检查过的正确的关键触发词 ADD_OK。我没有错误。这对我来说似乎很奇怪,因为我在添加和删除时使用了完全相同的 ajax 代码。

代码不提醒但添加到数据库

<script type="text/javascript"> 
    $(document).on('click','#insert_btn',function (){
      $.ajax({
            type:'POST',
            url:'add.php',
             datatype: "json",
            data: {
                first_name: $("#first_name").val(),
                last_name: $("#last_name").val(),
                position: $("#position").val(),
                date: $("#date").val(),
                updated: $("#updated").val(),
            }, 
            success: function(data){ 
               if (data=='ADD_OK') {
                  //  alert(data);  
                  location.reload();
                      alert("Add Successful");
                } else {
                     //alert('something wrong');
                }
                  }
             })
        }); 
</script>

代码同时执行删除和警报 相同的删除代码将刷新页面和警报(“删除成功”)。什么会导致这种情况?

<script type="text/javascript"> 
    $(document).on('click','.delete_btn',function (){
        if (confirm('Are you sure you want to delete this?')) {
        var id = $(this).attr("id").match(/\d+/)[0];
        var del_id = $('#example').DataTable().row( id ).data();
        var del_id = del_id[0];
        $.ajax({
            type:'POST',
            url:'delete.php',
            data: {del_id:del_id}, 
            success: function(data){ 
                if (data=='DEL_OK') {
                  location.reload();
                  alert("Delete Successful!");
                } else {
                 //    alert('something wrong');
                }
                  }
                     });
        }
        });
</script>

添加.php代码

<?php
$first_name = strtoupper($_POST['first_name']);
$last_name = strtoupper($_POST['last_name']);
$position = strtoupper($_POST['position']);
$date = $_POST['date'];
$updated = $_POST['updated'];  
   $stmt = $conn->prepare("INSERT INTO employees (first_name, last_name, position, date, updated) VALUES (?, ?, ?, ?, ?)");
   $stmt->bind_param('sssss', $first_name, $last_name, $position, $date, $updated);
   $add = $stmt->execute();

    //print_r($_POST);

   if($add) {
      echo "ADD_OK";
   }
  ?>

【问题讨论】:

    标签: php ajax


    【解决方案1】:

    交换你的 location.reload()alert(...) 行。

    仅当页面尚未开始重新加载时才会运行警报。我想由于多种原因,某些页面需要更长的时间。

    【讨论】:

    • 不幸的是我已经尝试过了。我只是仔细检查了一遍,但没有成功。
    • 在我的删除 ajax 中,我先重新加载然后发出警报,而那个工作令人费解。
    • 我认为它不应该那样工作,如果页面重新加载,它将停止处理该页面中的 javascript 并在新页面加载时重新开始会话......是你的删除现在还这样工作吗?
    • databasetable-net.000webhostapp.com Ya my delete 会提醒(删除成功)
    • 您的逻辑/理论可能是正确的,但令人费解的是为什么我的删除有效...
    【解决方案2】:

    我添加了插入数据的代码,请尝试检查一下。此外,您尝试这样做来删除和更改您的代码。

    <script type="text/javascript"> 
        $(document).on('click','#insert_btn',function (){
          $.ajax({
                type:'POST',
                url:'add.php',
                 datatype: "json",
                data: {
                    first_name: $("#first_name").val(),
                    last_name: $("#last_name").val(),
                    position: $("#position").val(),
                    date: $("#date").val(),
                    updated: $("#updated").val(),
                }, 
                success: function(data){ 
                   if (data.success == true) {
                      //  alert(data);  
                      alert("Add Successful");
                      location.reload();
                    } else {
                        alert('something wrong');
                    }
                      }
                 })
            }); 
    </script>
    

    【讨论】:

    • 和我的一样。添加但没有警报。
    • 请用 window.location.reload() 重新加载你的脚本; in ajax 命令可能会对您有所帮助。
    • 我在清除缓存后又试了一次,现在它说“出了点问题”
    • window.location.reload() 摆脱了一些错误的错误,但仍然没有警报。
    • 我可能需要这样的东西吗?到目前为止,我一直在尝试但没有成功: var r = confirm("Successful Message!"); if (r == true){ window.location.reload(); }
    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 2019-03-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多