Отправка формы Vue с помощью Axios и PHPMailer - PullRequest
0 голосов
/ 03 июля 2018

Я немного борюсь с этим.

Я пытаюсь отправить свои данные формы Vue с помощью Axios и отправляю себе электронное письмо с помощью PHPMailer.

Вот что у меня есть для Vue:

<script>
const app = new Vue({
    el: '#app',
    data() {
        return {
            step: 1,
            counter: 0,
            debt: {
                name: null,
                email: null,
                tel: null
            }
        }
    },
    methods: {
        prev() {
            this.step--;
        },
        next() {
            this.step++;
        },
        hasClicked(value) {
            alert(this.counter);
        },
        submit() {
            axios.post('post.php', {
                'name': this.debt.name,
                'email': this.debt.email
            }).then(response => {
                console.log('success', response.data.message)
            }).catch(error => {
                console.log(error.response)
            });
        }
    }
});
</script>

Это мой post.php

require __DIR__.'/../../../vendor/autoload.php';

header('Content-type: application/json');
header('Access-Control-Allow-Headers: Content-Type');
header("Access-Control-Allow-Origin: *");

$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE);

$name = $input['name'];
$email = $input['email'];
$tel = $input['tel'];

$result['message'] = '';
$result['error']  = false;

if($name){
$result['message']  = $name $email $tel;
$result['error']  = false;
}


$mail = new PHPMailer(true);  

foreach($environment['phpmailer'] as $key => $value) {
      $mail->$key = $value;
}

//Recipients
$mail->setFrom(constant('SITE_EMAIL'),constant('SITE_TITLE'));
$mail->addAddress($environment['mail_recipients']);

$mail->isHTML(true);
$mail->Subject = 'Title';
$mail->Body    = $result;
$mail->send();

echo json_encode($result);

Если я удаляю часть phpmailer из post.php, она отправляет содержимое из формы. Но я не могу заставить его отправить данные по электронной почте.

Надеюсь, кто-то может указать мне правильное направление.

Спасибо, Джейк.

...