Vuejs - 检索输入值

Vuejs - Retrieve input value

我有一个简单的输入来获取用户的电子邮件,我想发送一个 http post 请求以将电子邮件保存在数据库中。

这是"form":

<input v-model="email" id="email" type="email" name="email" placeholder="Inser your email...">
<input id="submitButton" type="submit" value="Save" v-if="isValidEmail" v-on:click="save(email)">

这是 Vue 脚本:

    new Vue({
        el: '#body',
        data: {
            email: ''
        },
        computed: {
            isValidEmail: function(){
                var re = /\S+@\S+\.\S+/;
                return re.test(this.email);
            }
        },
        methods: {
            save: function(passedEmail){

                this.$http.post('action.php', passedEmail, function (data) {

                    swal({
                        title: data.title,
                        text: data.text,
                        timer: 5000,
                        type: data.type,
                        showConfirmButton: true
                    });

                }).error(function (data) {
                    swal({
                        title: 'Errore',
                        text: 'Si è verificato un errore sconosciuto.',
                        timer: 5000,
                        type: 'error',
                        showConfirmButton: true
                    });

                });
            }
        }
    });

如何在我的 action.php 文件中获取电子邮件值?
我尝试了一个简单的 print_r($_POST) 但它是空的,而 passedEmail 包含实际的电子邮件。

你应该传递一个对象作为数据,

this.$http.post('action.php', {email: passedEmail}, function (data) {
  ...
})

终于解决了。

问题是 Vue(至少在我的情况下)在请求的播放负载中发送数据,以便检索您需要使用的输入:

$data = file_get_contents("php://input");
var_dump($data);