Я пытаюсь добавить фильтрацию в список заданий на основе пользовательского ввода. В настоящее время я получаю объект JSON в PHP следующим образом:
<?php echo getBhQuery('search','JobOrder','isOpen:true','id,title,categories,dateAdded,externalCategoryID,employmentType,customText12', null, 10, '-dateAdded');?>
Этот запрос настроен на получение сервиса BullHorn и выводит объект JSON, которым я могу манипулировать в своем приложении Vue.
Там есть параметры фильтрации, которые можно добавить к этому запросу, чтобы изменить, какие задания отображаются. У меня есть переменные данных, настроенные в Vue, чтобы получить значение того, что пользователь выбирает для ввода. Затем я пытаюсь использовать Axios для отправки этих данных в запрос и перезагрузки для отображения заданий, которые соответствуют фильтру. В Axios он настроен так:
onSubmit () {
axios.post('/wp-content/themes/bones/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. Затем эти данные отправляются в файл jobsResponse.php.
this.selectedLocation
Это переменная данных, установленная в Vue, которая будет установлена на то, что пользователь выберет в раскрывающемся списке.
Проблема, с которой я столкнулся, заключается в том, что эти данные публикуются в запросе PHP, а затем выполняются с отфильтрованными параметрами. Для этого вручную это будет выглядеть так:
<?php echo getBhQuery('search','JobOrder','isOpen:true AND customText12:"Chicago Region"','id,title,categories,dateAdded,externalCategoryID,employmentType,customText12', null, 5, '-dateAdded'); ?>
Где customText12 - это фильтр местоположения, для которого задан регион Чикаго, который будет отображать только задания, для которых в этом поле установлено значение Чикаго.