JavaScript — использование компонентов Vue.js в приложениях PHP

Я использую PHP и Vue.js с Vue-маршрутизатором. У меня есть обработчик формы PHP, который отправляет электронные письма. Я хотел бы перенаправить пользователя на определенный компонент из моего приложения Vue при отправке электронного письма. Есть ли способ заставить его работать? Я создал компонент Thankyou.vue и хотел бы как-то встроить его в мой php-файл.

if(mail($address, $msg, $headers)) {
header("Location: http://mypage.com/thankyou");
}

0

Решение

Я не слишком знаком с vue.js, так что не приставайте ко мне с JS 🙂

В любом случае, вам нужно отправить свои данные в PHP с помощью AJAX и вернуть JSON и исправить заголовки HTTP.

Отправьте данные в JavaScript и обработайте обещание ответа:

this.$http.post('//someurl.bla', { key: value })
.then((response) => {
// show your thank you message
})
.catch(error => {
console.log(error);
});

Обработка ошибок в PHP:

/**
* exits the script and returns a HTTP 400 and JSON error message
* @param str $msg error message
*/
function dieError($msg) {
http_response_code('400');
echo json_encode(['error' => $msg]);
exit;
}

// check form data
if (!$_POST['parameter']) {
dieError('Parameter "Parameter" is missing.');
}
// do stuff, build the mail content etc.

// throw an error if the mail is not sent (note the !)
if(!mail($address, $msg, $headers)) {
dieError('Error sending mail');
}

// if the script arrives here, everything was fine, the status code will be 200 OK
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]