Не удается отправить данные из API в AJAX методом POST - PullRequest
0 голосов
/ 30 января 2019

У меня очень странная проблема.Мой запрос ajax возвращает только строки без фактических значений в нем / за исключением того, где находится идентификатор класса, только там он получает postID /.Я не уверен, где проблема, но вот мой код:

JQUERY:

var roomID = jQuery(this).closest('li').attr('id');
        jQuery.ajax({
            url: '/wp-json/api/hotelRooms',
            data: {
                'post_id':roomID
            },
            type: 'POST',
            dataType: 'json',
            success: function (data) {
            jQuery(".rooms-popups-container").empty();
            jQuery(".rooms-popups-container").append(data);
            console.log(data);
            },
            error: function hotelRooms(data) {
                console.log('Error:', data);
            }
        });

PHP: / не публикуем весь код, только небольшую его часть

add_action( 'rest_api_init', function (){
    register_rest_route( 'api', '/hotelRooms', array(
        'methods' => 'POST',
        'callback' => 'hotelRooms',
    ));
});

function hotelRooms($returndata){
  $postID = $_POST['post_id'];
  $posttitle = get_the_title($postID);
  $postcontent = get_post_field('post_content', $postID);
  $galleries = get_post_meta( $postID, '_hb_gallery', true );
  $returndata = "";
  $returndata .= '<div class="hb_single_room room-popup" id="popup-room-'.$postID.'">
      <div class="summary entry-summary">
          <div class="title">
              <h4>
                  <a href="#">'. $posttitle .'</a>
                  <img class="close-room-popup" room_id="'.$postID.'" alt="x" src="https://www.micasas.it/wp-content/uploads/2018/03/x.png">
              </h4>
          </div>';
  return $returndata;
}

В POSTMAN он возвращает действительные значения и все, что мне нужно -> http://prntscr.com/me517n, но в Jquery возвращает только часть информации: http://prntscr.com/me51e0

1 Ответ

0 голосов
/ 30 января 2019

Хорошо, я понял

В настоящее время вы отправляете room-<id> с вашего js вместо <id>, поэтому ваши функции возвращают пустые значения.Вы можете использовать что-то вроде следующего в hotelRooms()

$postID = explode("room-",$_POST['post_id'])[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...