使用Angularjs中的httpost返回成功消息
我正在打电话给httpService以发布数据,并希望显示消息,例如,如果发生错误使用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
(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
};
});
我认为这里的问题是你没有兑现你也可以看一看的承诺
我认为这里的问题是你没有兑现你也可以看一看的承诺