Доброго времени суток!
Как с PHP отсылать статус выполнения запроса (200 и т.д.)?
Сейчас при моей реализации как бы не обработался запрос - ajax ответ приходит для обработчика "success". При ошибке обработки все равно отрабатывает "success".
function pin_post_function(){
$postID = $_POST["postID"];
$postDate = $_POST["postDate"];
$postTime = $_POST["postTime"];
if(update_field( 'post_status', 2, $postID ) && update_field( 'post_date', $postDate, $postID ) && update_field( 'post_time', $postTime, $postID )){
echo(json_encode( array('pinned'=>true, '$postID'=>$postID) ));
}else{
echo(json_encode( array('pinned'=>false, '$postID'=>$postID) ));
}
wp_die();
}
add_action('wp_ajax_pin_post' , 'pin_post_function');
Функция отправки AJAX запроса
function sendPostAJAX(post_url, data){
jQuery(function($){
$.ajax({
type: "POST",
url: post_url,
data: data,
success: function (response) {
console.log('Pin master response : ' , response);
},
error: function (response) {
console.log('Error master response : ' , response);
}
});
});
}
Отправка запроса с клиента
$('.free-orders .free-order-pin').on('click', function(event){
let postId = $(this).attr('data-post-id');
const data = {
action : 'pin_post',
postID: postId
}
data.postTime = $('#timeInput').val();
data.postDate = $('#dateInput').val();
sendPostAJAX(window.wp_data.ajax_url, data);
});