如何从$http发布对象返回值

How do you return a value from an $http post object?

本文关键字:对象 返回值 布对象 http      更新时间:2023-09-26

在我的控制器中,我调用一个让用户登录的服务。

我希望服务向我的控制器报告登录是否成功。我尝试将return true放入我的success(..)函数中,但这似乎实际上并没有返回任何内容。

我的服务:

loginRsrc.factory('loginSrvc', ['$http', function($http){
    return {
        http: function(){
            $http({
                method: 'POST',
                url: "http://myproj.herokuapp.com/api/signIn",
                data: $.param({email: "joe.gino@gmail.com", password: "1234567"}),
                headers: {'Content-Type': 'application/x-www-form-urlencoded'}
            })
            .success(function(res){
                console.log("res:");
                console.log(res);
                return true;
            })
            .error(function(res){
                console.log("res");
                console.log(res);
            }); 
        }
    };

我的控制器

loginApp.controller('loginCtrl', ['$scope', '$state', 'loginSrvc', function($scope, $state, loginSrvc){
    $scope.loginForm = {};
    $scope.loginForm.email = "";
    $scope.loginForm.password = "";
    $scope.submit = function(){
        loginSrvc.http();
    // true? Then send user to other page

服务:

loginRsrc.factory('loginSrvc', ['$http', function($http){
return {
    http: function(){
        return $http({
            method: 'POST',
            url: "http://myproj.herokuapp.com/api/signIn",
            data: $.param({email: "joe.gino@gmail.com", password: "1234567"}),
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        })
    }
};

控制器

loginApp.controller('loginCtrl', ['$scope', '$state', 'loginSrvc', function($scope, $state, loginSrvc){
$scope.loginForm = {};
$scope.loginForm.email = "";
$scope.loginForm.password = "";
$scope.submit = loginSrvc.http().then(function(response){
                  // your data will be available in "response.data"
                  //code for success/resolved promise. 
                },function(error){
                  // error object available in error variable
                  // your code for error/rejected promise.
               });