Я получаю объект JSON по запросу PHP из службы BullHorn следующим образом:
<?php echo getBhQuery('search','JobOrder','isOpen:true','id,title,categories,dateAdded,externalCategoryID,employmentType,customText12', null, 10, '-dateAdded');?>
Однако для объекта JSON должна быть предусмотрена функция фильтрации на основе пользовательского ввода. Поэтому я создал входные данные в своем приложении Vue, которое захватывает пользовательское значение ввода, и я пытаюсь поместить это значение в PHP. Мой код Axios выглядит так:
onSubmit () {
axios.post('/wp-content/themes/bones/library/jobsResponse.php',{region: this.selectedLocation}, {headers: {'X-Requested-With': 'XMLHttpRequest', 'Content-type': 'application/x-www-form-urlencoded'}})
.then(function(response){
console.log(response)
})
.catch(function(error){console.log(error)})
}
Итак, когда мы нажимаем кнопку формы, запускается функция onSubmit (). Затем он использует Axios для публикации данных в файле jobsResponse.php. В настоящее время публикуемые данные
this.selectedLocation
То, что все это - переменная данных в моем приложении Vue, которая связана с раскрывающимся вводом, который может использовать пользователь.
Итак, в моем файле jobsResponse.php у меня есть:
$request_body = file_get_contents("php://input");
$data = json_decode($request_body, true);
$region = $data['region'];
Итак, он берет опубликованные данные и присваивает их переменной $ region. Моя самая большая проблема - обновить PHP-запрос, чтобы добавить фильтрацию. Чтобы отфильтровать запрос по региону, я бы отредактировал запрос примерно так:
<?php echo getBhQuery('search','JobOrder','isOpen:true AND region:"Chicago Region"','id,title,categories,dateAdded,externalCategoryID,employmentType,customText12'); ?>
Все, что было добавлено, это «И регион:« Регион Чикаго »», и он будет получать только рабочие места с регионом Чикаго. Таким образом, в моем приложении Vue есть выпадающий ввод, заполненный всеми регионами, по которым пользователь может фильтровать. Как только один из них выбран, я хочу взять эти данные и POST их с помощью Axios и обновить запрос PHP, чтобы добавить фильтр к ним.
Я бегал кругами, пытаясь заставить это работать, и ударил стену о том, что мне не хватает. Я полагаю, что пытаюсь просто выполнить Ajax-подобную функцию, но вместо этого использую сообщение Axios.