Как получить ответы ajax от php?

Я запускаю ajax через этот php с помощью js:

 function ajax_Person() { ?>
    <script type="text/javascript">
    jQuery("#createCat").on("click", function(e){
      e.preventDefault();
      person();
    });
    function person(){
      jQuery.ajax({
        url: '<?php echo admin_url('admin-ajax.php'); ?>',
        type: 'post',
        data: { action: 'data_person', catName: jQuery('#newCat').val(), catDesc: jQuery('#descRiption').val() },
        success: function(data) {
          jQuery(".modal-body").html("Done!");
        }
      });
    }
    </script>
  <?php }

Тогда я бегу

  function data_person(){
    $catname = $_POST['catName'];
    $catdesc = $_POST["catDesc"];
    $cat_ID = get_cat_ID( sanitize_title_for_query($catname) );  
    // Check if category exists
    if($cat_ID == 0) {
        $cat_name = $catname;  
        $cat_desc = $catdesc;
        $cat_slug = sanitize_title_with_dashes($cat_name);
        $my_cat = array(
          'cat_name' => $cat_name, 
          'category_description' => $cat_desc, 
          'category_nicename' => $cat_slug, 
          'category_parent' => 0
        );
        if( wp_insert_category( $my_cat ) ) {
          echo 'Category added successfully';
        } else {
          echo 'Error while creating new category';
        }
    } else {
      echo 'That category already exists';
    }
  }

В обоих случаях я получаю "Готово!" как ответ. Мне нужно настроить ответы на основе:

   if( wp_insert_category( $my_cat ) ) {
          echo 'Category added successfully';
        } else {
          echo 'Error while creating new category';
        }
    } else {
      echo 'That category already exists';
    }

Вышеупомянутые биты php работают, если я запускаю их как стандартный php.

0
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

пытаться:

на вашем php

 if( wp_insert_category( $my_cat ) ) {
      echo json_encode( 'Category added successfully');
    } else {
      echo json_encode( 'Error while creating new category');
    }
} else {
  echo json_encode( 'That category already exists');
}

на js вместо

 $(".modal-body").html("Done!");

использовать

  $(".modal-body").html(data);

Отлично, спасибо. Одна вещь, любая идея, почему тоже 0 в конце? «Эта категория уже существует» 0

rob.m 26.10.2018 07:58

Мне пришлось добавить exit; в конец php

rob.m 26.10.2018 08:15

Другие вопросы по теме