Как запретить ajax-запрос перед нажатием кнопки ОК в сообщении onclick = "Подтвердить ('')"? - PullRequest
0 голосов
/ 23 марта 2019

$(document).ready(function(){
            $(document).on('click', '.dlt', function () {
                var id = $(this).attr('data-id');
                var token= '{{ csrf_token() }}';
                $.ajax({
                   method: 'post',
                   url: '{{route('product.delete')}}',
                   data: {id:id, _token:token},
                   success: function (response) {
                       location.reload();
                   }
                });

            });

        });
<tbody>
@if($products->count()>0)
    @foreach($products as $product)
      <tr>
          <td class="p_name">{{$product->name}}</td>
          <td class="p_details">{{$product->details}}</td>
          <td class="p_price">{{$product->price}}</td>
          <td><a class="add" data-id="{{$product->id}}" title="Add" data-toggle="tooltip" style="display: none"><i class="fa fa-book"></i></a>
              <a class="edit" title="Edit" data-toggle="tooltip"><i class="fa fa-edit"></i></a>
              <a class="dlt" onclick="confirm('Are you sure to delete it?')" title="Delete" data-toggle="tooltip" data-id="{{$product->id}}"><i class="fa fa-trash"></i></a>
          </td>
      </tr>
    @endforeach
@else
    <tr>
        <td colspan="4" class="text-center bg-danger">No Product Data Found</td>
    </tr>
@endif
</tbody>

Хотя я нажимаю кнопку «Отмена» в сообщении «Подтвердить» (), но onjlick ajax-запрос уже выполнен.Как это предотвратить, пока я не нажму на кнопку ОК в сообщении подтверждения ()?

1 Ответ

1 голос
/ 23 марта 2019

Внутри функции вы должны использовать этот скрипт -

var result = confirm("Want to delete?");
if (result) {
    //Logic to Ajax
}

В вашем коде

    $(document).ready(function() {
        $(document).on('click', '.dlt', function() {
            var result = confirm("Want to delete?");
            if (result) {
                //logic to AJAX
                var id = $(this).attr('data-id');
                var token = '{{ csrf_token() }}';
                $.ajax({
                    method: 'post',
                    url: '{{route('
                    product.delete ')}}',
                    data: {
                        id: id,
                        _token: token
                    },
                    success: function(response) {
                        location.reload();
                    }
                });
            }
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...