angularjs – 如何使用Angular的$resource发送登录POST请求?

我认为这样做很简单,但非常令人困惑.

我想设置我的Angular登录表单以允许我的用户登录.在登录表单上,我想获取输入并将其作为POST请求发送到我的服务器进行验证.

但是,我找不到用于发送POST请求的$resource的单个示例.有没有人有他们可以分享的任何例子?

最佳答案
定义资源后,可以使用save方法,该方法是$resource定义的post的默认操作. save的第一个参数接受用作url params的参数,第二个参数接受post数据.

var LoginResource = $resource("/rest/path/login");
var bodyObject = {username:"test", password:"test"};
LoginResource.save({}, bodyObject);

然后,您可以使用$resource的承诺访问对您的请求的响应.为了澄清我将提供一个样本服务和控制器,它将发布一个帖子请求.

angular.module('yourApp').
factory('yourService', ["$resource", function($resource){
    var LoginResource = $resource("/rest/path/login");
    var serviceObject = {loginUser: function (userName, password){
        return LoginResource.save({}, {userName: userName, password: password}).$promise; //this promise will be fulfilled when the response is retrieved for this call
    }};
    return serviceObject;
}];

angular.module("yourApp").controller("LoginCtrl", ["$scope", "yourService",     
   function($scope, yourService){
    yourService.loginUser("test", "test").then(
        function(loginResult){
           console.log(loginResult);
        },
        function(err){
           console.error(err);
        }
    )
  }];

转载注明原文:angularjs – 如何使用Angular的$resource发送登录POST请求? - 代码日志