Ajax вызов возвращает ошибку только на мобильных устройствах (ios, android, et c) - PullRequest
1 голос
/ 01 апреля 2020

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

Ajaxcall действительно отлично работает на моем P C, но когда я хотел проверить его на своем iPhone, все, что я получаю, это сообщение об ошибке, а не html загружен. Независимо от того, какой браузер я использую на своем телефоне. Я также тестирую на эмуляторе и думаю, что эта ошибка также возникает на android и других мобильных устройствах.

Кто-нибудь знает, с чем это связано?

Это мой код:

$('#model').change(function(){
        var make = $('#make').val();
        var model = $('#model').val();
        $.ajax({
            url: wpAjax.ajax_url,
            cache : false,
            data: {
              action: 'get_testing',
              'make': make,
              'model': model
            },
            type: 'post',
            success: function(result){
                $('#fahrzeugsuche').html(result);
                $('.lazy').Lazy();
            }
        })
    });
add_action( 'wp_ajax_get_testing', 'filter_get_testing' );
add_action( 'wp_ajax_get_testing', 'filter_get_testing' );

function filter_get_testing(){
  $make = $_POST['make'];
  $model = $_POST['model'];
  $args = array('post_type' => 'carport_cars','posts_per_page' => -1, 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array(
    array('key' => 'specific_price'),
    array('key' => 'make', 'value' => $make),
    array('key' => 'model', 'value' => $model)
  ));
  $loop = new WP_Query($args);
  if ($loop->have_posts()) {
    while ($loop->have_posts()) {

      $loop->the_post();
      get_template_part('public/template/car-content');
    }
  } wp_reset_postdata();
  die();
}

У меня есть еще Ajax вызовы, которые работают немного по-другому, и они работают:

$('#models').change(function(){
        var make = $('#make').val();
        var model = $('#model').val();
        $.ajax({
            url: wpAjax.ajax_url,
            data: {
                  'make': make,
                  'model': model,
                  action: 'get_end_result'
            },
            type: 'post'
        }).done(function(data){
            data = JSON.parse(data);
            counting = data['counting'];
            $('#button').attr('value', 'Fahrzeuge anzeigen (' + counting + ')');
        })
    });
add_action( 'wp_ajax_get_model', 'filter_chose_make' );
add_action( 'wp_ajax_nopriv_get_model', 'filter_chose_make' );

function filter_chose_make(){
    // Some code for $data.
    echo json_encode($data);
  }
  die();
}

Возможно ли json_encode html я пытаюсь получить? Или какая лучшая возможность позвонить html?

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