@veteralex

Wordpress. Почему не обновляется корректно произвольное поле при ajax запросе?

Здравствуйте.
Есть произвольный тип записи "document". У него есть произвольное поле status. Реализован в acf. Тип text. Хочу сделать, что при клике по ячейке таблицы менялся статус. Сейчас он почему то не корректно отрабатывает
Код JS
jQuery(document).ready(function($) {
        const documTable = document.getElementById('yo-docum');

        if(documTable) {
            documTable.addEventListener('dblclick', (e) => {
                // console.log(e);

                const actionTr = e.target.parentNode.children;  
                const idDocum = e.target.parentNode.dataset.id;
                const statusDocum = e.target.dataset.status;

                $.ajax({
                    url: '/wp-admin/admin-ajax.php', // сделали запрос 
                    type: "POST", // указали метод
                    data: { // передаем параметры отправляемого запроса
                        action: 'nqaa_action', // вызываем хук который обработает наш ajax запрос
                        id: idDocum, // id документа
                        status: statusDocum, //статус документа 
                    },

                    success: function (data) {// получаем результат в переменной data
                        let res = JSON.parse(data)
                        if(res.res === 'ok') {
                            actionTr.forEach(i => {
                            if(i.dataset.status === '1') {
                                i.innerText = "";
                            }
                            });
                            e.target.innerText = "X";
                        }    
                    }
                });        
            }); 
        }       
});


Код обработчика запроса
add_action( 'wp_ajax_nqaa_action', 'nqaa_action_callback' );
add_action( 'wp_ajax_nopriv_nqaa_action', 'nqaa_action_callback' );
function nqaa_action_callback() {
	$id_docum = $_POST['id'];
    $status_docum = $_POST['status'] ;    

    if(update_field('status', $status_docum, $id_docum)) {
        $error['res'] = "ok";
        $error['id'] = $id_docum;
        $error['st'] = $status_docum;
        echo json_encode($error);
    } else {
        $error['res'] = "err";
        $error['id'] = $id_docum;
        $error['st'] = $status_docum;
        echo json_encode($error);
    };     
   
	wp_die();
}


Запрос срабатывает, но ответ идет не корректный
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы