что заставило бы мой ajax не следовать всем командам? - PullRequest
0 голосов
/ 24 сентября 2018

Мой вставленный 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>

Add.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";
   }
  ?>

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Я добавил код для вставки данных, пожалуйста, попробуйте и проверьте это.Кроме того, вы пытаетесь это удалить и изменить свой код.

<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>
0 голосов
/ 24 сентября 2018

Поменяйте местами строки location.reload() и alert(...).

Предупреждение будет запущено, только если страница еще не начала перезагружаться.Я полагаю, что на некоторых страницах это занимает больше времени по ряду причин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...