2016-04-16 3 views
2

У меня простая форма с двумя полями.Угловой запрос на запрос php не удалось

<form name="save" ng-submit="sap.saved(save.$valid)" novalidate> 

     <div class="form-group" > 
      <input type="text" name="name" id="name" ng-model="sap.name" /> 
     </div> 

     <div class="form-group" > 
      <input type="email" name="email" id="email" ng-model="sap.email" /> 
     </div> 

     <div class="form-actions"> 
      <button type="submit" ng-disabled="save.$invalid || sap.dataLoading">Save</button> 
     </div> 
</form> 

Я пытаюсь опубликовать эти значения на php-странице, используя запрос POST.

   $http({ 
        method: 'post', 
        url: 'save.php', 
        data: $scope.vm, 
        headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
       }) 
       .success(function(data, status, headers, config) 
       { 
        if(data.success) 
        { 
         alert('valid'); 
        } 
        else 
        { 
         alert('invalid 1'); 
        } 
       }). 
       error(function(data, status, headers, config) 
       { 
        alert('invalid 2'); 
       }); 

И в save.php файле, я выборку значения, как это:

$name=$_POST['name']; 
$email=$_POST['email']; 

Но ответ я получаю undefned имя переменной. Это уведомление PHP. Но когда я пытаюсь выполнить POST эти значения из клиента POSTman, он работает. Есть ли что-то не так с методом, который я выбираю для данных POST?

P.S: Я не опубликовал весь контроллер. Здесь содержится только часть запроса HTTP.

ответ

1

Я столкнулся с такой же ситуацией, когда $_POST() не получилось!

пытается извлечь исходные данные с:

json_decode(file_get_contents('php://input')) 

может быть полезным.

Update:

This Answer объясняет, почему $ _POST переменная не заполняется в PHP , когда данные размещены с угловой!

Смежные вопросы