使用AngularJS提交登录
我想避免使用使用AngularJS提交登录,angularjs,spring,login,form-submit,Angularjs,Spring,Login,Form Submit,我想避免使用,因此 <form action="./login" method="post"> <input type="text" placeholder="Username" name="username"> <input type="password" placeholder="Password" name="password"> <input type="submit" value="Login"> <
,因此
<form action="./login" method="post">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<input type="submit" value="Login">
</form>
当我使用表单时,请求被发送到Spring框架,并且可以完美地工作,但是当我使用Angular执行相同的操作时,它会给我一个错误POSThttp://localhost:8080/login?username=admin&password=admin 404(未找到)
我必须做什么改变?我想拥有与提交完全相同的功能,因为在错误的凭证上,Spring framework会将我重定向到另一个视图。我认为您不应该删除表单,而应该将其更改为纯angularjs表单(确保删除action属性) 像这样:
<form method="post" ng-submit="doLogin()">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<input type="submit" value="Login">
</form>
这样,您的angularjs表单的行为方式将与以前的代码相同。我认为您不应该删除该表单,而应该将其更改为纯angularjs表单,并带有一个(确保删除action属性) 像这样:
<form method="post" ng-submit="doLogin()">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<input type="submit" value="Login">
</form>
这样,angularjs表单的行为方式将与以前的代码相同
<form method="post" ng-submit="doLogin()">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<input type="submit" value="Login">
</form>
$scope.doLogin=function(){
var url = '/login';
$http.post(url, {username: $scope.username, password: $scope.password}).then(function(msg){
console.log(msg);
});
}