2017-01-09 10 views
1

私は解決方法がわからないという問題があります。 AngularJS 1を使ってバックエンド(Laravel 5.1)に投稿します。 AngularJSから投稿が成功しました。Laravelバックエンドへの角度のあるHTTP投稿

私のLaravelのコントローラでは、AngulrJSから投稿されたデータを受け取るためにRequestを使用しますが、$ request-> all()は常に空です。理由はわかりません。

投稿リクエストに何か忘れましたか?

LARAVEL ROUTE: 

Route::post('/signup','[email protected]'); 


LARAVEL CONTROLLER: 
<?php 


namespace App\Http\Controllers; 
use Illuminate\Http\Request; 

class SignupController extends Controller 
{ 
    public function Signup(Request $request){ 


     dd($request->all()); <-- is always empty 
    } 
} 

POST ANGULARJS:

.controller('SignupCtrl',function($scope,$http,$state){ 

    $scope.Signup = function($params){ 

     $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; 
     $http.post('http://localhost:8888/vemhamtar/public/signup',{"name":$params.name,"phone":$params.phone,"email":$params.email,"password":$params.password}) 
     .success(function(response){ 

      $params.name = ""; 
      $params.phone = ""; 
      $params.email = ""; 
      $params.password = ""; 
      $state.go("app.contacts"); 

     }) 
     .error(function(error){ 
      console.log(error); 
     }); 
    }; 
}) 

答えて

1

URLエンコードフォーム情報として、ごペイロードのフォーマットをするために$httpParamSerializerを使用試してください。

.controller('SignupCtrl',function($scope,$http,$state,$httpParamSerializer){ 

    $scope.Signup = function($params){ 

     $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; 
     $http.post('http://localhost:8888/vemhamtar/public/signup',$httpParamSerializer({"name":$params.name,"phone":$params.phone,"email":$params.email,"password":$params.password})) 
     .success(function(response){ 

      $params.name = ""; 
      $params.phone = ""; 
      $params.email = ""; 
      $params.password = ""; 
      $state.go("app.contacts"); 

     }) 
     .error(function(error){ 
      console.log(error); 
     }); 
    }; 
}) 
+0

Awsome !!どうもありがとうございます! – Webbie

関連する問題