我正在尝试通过 Angularjs 向 Symfony 发送带有用户名和密码的 ajax 请求,但我无法访问 post 变量。这是我的代码:
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>
角控制器
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 控制器吗?