AJAX данные отправляются пустыми в PHP Функция - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно отправить идентификатор элемента и значение (1,2,3) через ajax в документ PHP, который проверяет, являются ли данные пустыми (что всегда). Два значения, которые я пытаюсь отправить, правильно зарегистрированы на консоли.

  $(document).ready(function() {

       $('.status-menu-option-1').click(function(){
           changeLabelStatus(1);
       });
       $('.status-menu-option-2').click(function(){
           changeLabelStatus(2);
       });
       $('.status-menu-option-3').click(function(){
           changeLabelStatus(3);
       });
       function changeLabelStatus(status){
           var parent = $(event.target).parent().parent().parent().attr('id');
           console.log(status);
           console.log(parent);
           $.ajax({ 
               url: 'team/canva_change_label',
               type: "GET",
               data: {
                   status : status,
                   row : parent
               },
               success: function(msg) { 
                   if(msg.error) {
                       alert(msg.error_msg);
                       return;             
                   }
               } 
           });

       }
   }

Я знаю, что делаю что-то не так, но не могу указать, что.

1 Ответ

0 голосов
/ 21 апреля 2020
$(document).ready(function() {
  $('.status-menu-option-1').click(function(e){
    changeLabelStatus(e.target, 1);
  });

  $('.status-menu-option-2').click(function(e){
    changeLabelStatus(e.target, 2);
  });

  $('.status-menu-option-3').click(function(e){
    changeLabelStatus(e.target, 3);
  });

  function changeLabelStatus(element, status){
    var parent = $(element).parent().parent().parent().attr('id');
    console.log(status);
    console.log(parent);

    $.ajax({ 
      url: 'team/canva_change_label',
      type: "GET",
      data: {
        status : status,
        row : parent
      },
      success: function(msg) { 
        if(msg.error) {
          alert(msg.error_msg);
          return;             
        }
      } 
    });
  }
}

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

Кроме того, вы должны возможность использовать форму closest(selector) вместо всех этих связанных родительских вызовов, но не видя разметки, я не могу предложить правильный селектор.

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