通过不需要的参数的角度资源
angular resource passing unwanted parameters
我正在尝试使用以下轨道设置服务器端身份验证服务:
Javascript:
angular.module('myApp',['ngResource'])
.factory("Session",['$resource',function($resource){
return $resource('/sessions',{}, {
create: {method: 'POST', isArray: false},
destroy: {method:'DELETE', url: '/sessions/destroy.json' }
});
}])
.controller("LoginController",['$scope','Session',function($scope,Session){
$scope.model = {};
$scope.login = function(username,password){
//Session.save({username: username, password: password}).then(function(success){
// $scope.model.user = success.data;
// console.log("New Session");
//},function(error){
// console.log("Login failed!!!");
// console.log(error);
//});
$scope.model.user = {
first: "John",
last: 'Doe'
};
};
$scope.logout = function(){
Session.destroy().then(function(success){
$scope.model.user = {};
console.log("Session Deleted!!!");
},function(error){
console.log("Error in Session delete...");
console.log(error);
})
};
}]);
html:
<div class="navbar navbar-inverse" role="navigation" ng-controller="LoginController">
<div class="navbar-right navbar-form " style="color:white" ng-show="model.user">
<span class="glyphicon glyphicon-user"></span>
<span>{{ model.user.first + ' ' + model.user.last}}</span>
<button ng-click="logout()" type="submit" class="btn btn-danger navbar-btn">Logout</button>
</div>
<div class="navbar-form navbar-right" role="login" ng-hide="model.user">
<div class="form-group">
<a ng-href="#">new user? </a>
<a ng-href="#"> forgot password?</a>
</div>
<form class="form-group" name="loginForm" ng-submit="login()">
<input type="text" class="form-control" placeholder="username" ng-model="username" />
<input type="password" class="form-control" placeholder="password" ng-model="password" />
<button type="submit" class="btn btn-primary navbar-btn">Login</button>
</form>
</div>
</div>
但当我提出注销请求时,angular会添加一个额外的参数,请参阅rails服务器日志:
Started DELETE "/sessions/destroy.json" for 127.0.0.1 at 2014-04-26 18:30:30 -0400
Processing by SessionsController#destroy as JSON
Parameters: {"id"=>"destroy"}
为什么会发生这种情况?
试试这个:
angular.module('myApp',['ngResource'])
.factory("Session",['$resource',function($resource){
return $resource('/sessions/:action',{}, {
create: {method: 'POST', isArray: false},
destroy: {method:'DELETE', params: { action: 'destroy.json' } }
});
}])
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- RESTful GET资源应该如何接受日期时间参数
- 使参数在 angularjs 资源中可选
- 使用参数指定Breeze实体的默认资源名称
- 将数组样式的查询参数传递给Angularjs中的资源
- servlet过滤器中的静态资源版本控制(添加一个额外的GET参数)
- Node.js:由于URL编码的GET参数,导致外部资源的路径混乱
- AngularJS:资源没有发送带有未定义变量的参数
- Google云端点:端点请求参数(资源容器)在部署时为空
- 为什么JSF以文件扩展名. JSF和GET参数ln=js交付JavaScript资源?
- 是否可以在AngularJS中为资源设置默认查询参数?
- 使用JavaScript脚本作为函数来更新资源参数
- 通过不需要的参数的角度资源
- 无法使用mysql_fetch_array()获取响应,要求参数1为资源
- Angularjs资源多参数
- 将参数从控制器传递到angularjs中的资源工厂,以便在数据库中进行搜索
- javascript中的JSF资源包参数