Я пишу пользовательскую тему Wordpress и на одной из страниц у меня есть форма с двумя вариантами выбора и кнопкой отправки.Обычно пользователь может выбрать два города и проверить, существует ли маршрут между ними.Я использую поле Advanced Custom Fields Relationship, чтобы связать города (город - это тип сообщения).Проблема в том, что я всегда получаю ошибку 400 и не могу понять, в чем проблема.
Я проверил найденные здесь разные решения, но ни одно из них, похоже, не работает для меня.
admin-ajax.php:
add_action('wp_ajax_check_route', 'check_route');
add_action('wp_ajax_nopriv_check_route', 'check_route');
function check_route() {
$id_cidade_origem = intval($_REQUEST['cidade_origem']);
$id_cidade_destino = intval($_REQUEST['cidade_destino']);
$cidades_atendidas = get_field('regioes_atendidas', $id_cidade_origem);
$tem_relacao = False;
foreach ($cidades_atendidas as $cidade) {
if($cidade->ID == $id_cidade_destino){
$tem_relacao = True;
break;
}
}
$data = array(
'success' => true,
'tem_relacao' => true
);
wp_send_json_success($data);
$data = array(
'success' => false
);
wp_send_json_error($error_data);
}
scripts.js:
jQuery("#regioes-botao").click(function (){
console.log("Clicou!");
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: {
action: 'check_route',
cidade_origem: jQuery('#select-from').find(":selected").val(),
cidade_destino: jQuery('#select-to').find(":selected").val(),
},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (output) {
console.log('sucesso!')
console.log(output);
var resposta = output.tem_relacao;
if(resposta == true){
jQuery('#resposta span').text("Nós fazemos esta rota, entre em contato.")
}else{
jQuery('#resposta span').text("No momento não fazemos esta rota, mas já estamos trabalhando para que seja possível em breve.")
}
},
error: function(output){
console.log(output)
}
});
});