2016-04-16 29 views
2

私は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> 

これらの値をPOSTリクエストを使用してPHPページに投稿しようとしています。

   $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の通知です。しかし、POSTmanクライアントからこれらの値をPOSTしようとすると、動作します。 POSTデータを選択する方法に問題はありますか?

P.S:コントローラ全体を投稿しませんでした。ちょうどhttp要求部分はここに含まれています。

答えて

1

私は$_POST()が解決しなかった同じ状況に直面しました!

で生データをフェッチしようとしている:

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

することは役に立つかもしれません。

更新:データは、角度で掲載されたときに$ _POST変数は、PHP に移入されていない理由

This Answerは説明します!

関連する問題