Angularjs を介してユーザー名とパスワードを含む ajax リクエストを Symfony に送信しようとしていますが、投稿変数にアクセスできません。これが私のコードです:
HTML:
<div>
<input type="text"
class="form-control defaultPassword"
ng-model="username"
placeholder="username">
</div>
<div class="form-group">
<input type="password"
ng-model="password"
class="form-control {% verbatim %}{{ passwordBox }}{% endverbatim %}"
placeholder="password">
</div>
<div>
<span>{% verbatim %}{{ message }}{% endverbatim %}</span>
<button id="submitBtn" class="btn" ng-click="login()">login</button>
</div>
AngularController
todoApp.controller("LoginController",
function LoginController($scope, $http){
$scope.username = "";
$scope.password = "";
$scope.login = Login;
function Login(){
$http({
method: 'POST',
url: '/api/login',
data: {
username: $scope.username,
password: $scope.password
},
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function successCallback(response) {
console.log(response);
}, function errorCallback(response) {
alert("error");
});;
}
});
そして、これが symfony コントローラーです:
/**
* @Route("/api/login")
* @Method("POST")
*/
public function apiLogin(Request $request){
$us = $request->request->get("username");
}
データを取得するこの方法は機能しません。ユーザー名とパスワードが送信されていることがわかりますが、それらにアクセスできません。symfony コントローラーでそれらを取得する別の方法を見つけるのを手伝ってくれませんか?