gpt4 book ai didi

javascript - 如何从 AngularJS 中的服务获取 ErrorMessage?

转载 作者:行者123 更新时间:2023-11-28 00:07:05 24 4
gpt4 key购买 nike

我不知道如何从服务访问错误消息。我正在使用 WebAPI2 和 AngularJS。

Controller :

testApp.controller('ModalCtrl', ['$log', '$scope', '$modalInstance', '$rootScope', 'CrudService',
function ($log, $scope, $modalInstance, $rootScope, CrudService) {
$scope.updateItem = function (updateItem) {
CrudService.update(updateItem)
.success(...)
.error(function (data) { //doesn't work: CrudService.update(...) is undefined
$scope.dataError = data.ModelState
});
$scope.ok();
}

服务:

testApp.factory('CrudService', ['$log', 'resService',
function ($log, resService) {
return {
...
update: function (updateItem) {
updateItem.$update().then(function (response) {
//SUCCESS MESSAGE definieren
}, function (response) {
$log.info('Update ERR:', response.data.ModelState); //Here I'm getting the error messages
var dataError = [];
dataError = response.data.ModelState; //How can I use this in the Ctrl?
});
},
...

资源服务:

return {
name: $resource(baseUrl + '/api/name/:Id', {
Id: '@Id'
}, {
'update': {
method: 'PUT'
}
}),

我想在 Ctrl 中使用变量“dataError”作为 $scope。我怎样才能做到这一点?

最佳答案

return {
...
update: function (updateItem) {
return updateItem.$update();
},

$scope.updateItem = function (updateItem) {
CrudService.update(updateItem).then(
function(resp){

},
function(error){
$scope.dataError = error.data.ModelState;
}

);
}

更新

Factory(与服务不同)不会自动返回某些内容。
你需要就这样回来。 (或者返回包含另一个返回值的函数)

testApp.factory('CrudService', ['$log', 'resService',
return {
...
update: function (updateItem) {
updateItem.$update().then(function (response) {
//SUCCESS MESSAGE definieren
}, function (response) {
$log.info('Update ERR:', response.data.ModelState); //Here I'm getting the error messages
var dataError = [];
dataError = response.data.ModelState; //How can I use this in the Ctrl?
});
},
...

关于javascript - 如何从 AngularJS 中的服务获取 ErrorMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com