Я хотел бы использовать 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?