Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Angularjs中的httpost返回成功消息_Angularjs_Asp.net Mvc - Fatal编程技术网

使用Angularjs中的httpost返回成功消息

使用Angularjs中的httpost返回成功消息,angularjs,asp.net-mvc,Angularjs,Asp.net Mvc,我正在打电话给httpService以发布数据,并希望显示消息,例如,如果发生错误 (function () { 'use strict'; angular.module("adminSetup").controller("AccountController", ["$scope", "$location", "httpService", AccountController]); function AccountController($scope, $location, httpServic

我正在打电话给httpService以发布数据,并希望显示消息,例如,如果发生错误

(function () {
'use strict';

angular.module("adminSetup").controller("AccountController", ["$scope", "$location", "httpService", AccountController]);

function AccountController($scope, $location, httpService) {
    $scope.message = "";
    $scope.error = false;
    $scope.user = {
        username: '',
        password: '',
        firstname: '',
        lastname: '',
        email: '',
        city: ''
    }
    $scope.submitUser = function () {
        httpService.registerUser($scope.user,
            function (data) {
                $scope.message = data;
            },
            function (error)
            {
                $scope.message = error;
            });;
    }
}
})();
服务看起来像这样

(function () {
"use strict"
angular.module("common.services").factory("httpService", ["$q", "$http", "appSettings", userAccountHttp])


function userAccountHttp($q, $http, appSettings) {
    var deferred = $q.defer();
    var registerUser = function (user) {
        $http({
            url: appSettings.serverPath + "Account/Register/",
            method: "POST",
            data: user
        }).then(function (data) {
            return deferred.resolve("Success");
        },
        function (response) {
            return deferred.reject(response.data.exceptionMessage);
        })
    }
    return {
        registerUser: registerUser
    };
}
})()


正如目前一样,服务不会将Http状态消息返回给AccountController。如何将状态“返回”到控制器

您不需要在承诺之上建立承诺。只要这样做:

(function () {
"use strict"
angular.module("common.services").factory("httpService", ["$http", "appSettings", userAccountHttp])


function userAccountHttp($http, appSettings) {
    var registerUser = function (user) {
        return $http({
            url: appSettings.serverPath + "Account/Register/",
            method: "POST",
            data: user
        });
    }
    return {
        registerUser: registerUser
    };
});

你不需要在承诺之上建立承诺。只要这样做:

(function () {
"use strict"
angular.module("common.services").factory("httpService", ["$http", "appSettings", userAccountHttp])


function userAccountHttp($http, appSettings) {
    var registerUser = function (user) {
        return $http({
            url: appSettings.serverPath + "Account/Register/",
            method: "POST",
            data: user
        });
    }
    return {
        registerUser: registerUser
    };
});

我认为这里的问题是你没有兑现你也可以看一看的承诺


我认为这里的问题是你没有兑现你也可以看一看的承诺