Делаю плагин для wordpress, форма на однофайловом компоненте vue.js 2 (я еще не так силен в vue для продвинутого уровня, vuex npm и прочие сложности не разворачивал).
По замыслу пользователь на странице (сгенерированной vue) заполняет форму отзыва, после чего скрипт проверяет, залогинен ли пользователь в wordpress - и в зависимости от результата должен выполнять действия.
Результат сторона Wordpress возвращает в response, в зависимости от значения response['code'] и должен произойти выбор действий.
Итак, по кнопке Submit вызывается вот такой код (в секции methods компонента):
checkWPLogin () {
let data = {
action: 'is_wp_logged',
security: ajax_php_vars.nonce,
}
$.ajax({
method: 'get',
url: ajax_php_vars.ajax_url,
action: 'is_wp_logged',
data: data,
success: function(data) {
response = data;
},
error: function(err) {
console.log(err);
}
})
},
Эта конструкция работает, но ожидаемо асинхронно. Причем пространство имен у нее, к сожалению, не совпадает с моим vue - то есть, когда я ставлю точку остановки на успешную ветку, на response= data; - переменные vue не видны - то есть я не могу ничего оттуда передать.
По сути мне не надо асинхронность, если есть вариант, как get и post запросы к wordpress сделать без ajax и асинхронности, я только ЗА.
Думал в сторону axios - вроде бы он более дружественен с vue.js, но не могу найти в документации, как указать не просто URL, но конкретный скрипт в коде (как для ajax у меня это указано в action). То есть для стороннего сервера все понятно, я знаю и как прочитать, и как отправить запросы.. но вот попасть внутрь кода на WP с помощью axios не знаю как.