2015-11-23 6 views
1

У меня есть простой вход для получения электронной почты пользователя, и я хочу отправить запрос на отправку по электронной почте для сохранения электронной почты в БД.Vuejs - Получить входное значение

Это "форма":

<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)"> 

Это сценарий Ви:

new Vue({ 
     el: '#body', 
     data: { 
      email: '' 
     }, 
     computed: { 
      isValidEmail: function(){ 
       var re = /\[email protected]\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 содержит фактическое письмо.

ответ

0

Наконец я решил.

Проблема заключается в том, что Vue (по крайней мере в моем случае) отправить данные в playload просьбе, с тем, чтобы получить вход, который нужно использовать:

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

Вы должны передать объект как данные,

this.$http.post('action.php', {email: passedEmail}, function (data) { 
    ... 
}) 
Смежные вопросы