gpt4 book ai didi

javascript - 无法读取来自 AngularJS $resource DELETE 的响应

转载 作者:行者123 更新时间:2023-11-29 19:39:59 26 4
gpt4 key购买 nike

我正在尝试使用 AngularJS $resource 从我的服务器中删除数据。但是,当我将结果写入控制台时,我看不到数据。

但是,当我转到 Chrome 控制台中的“网络”时,我在名称路径左侧栏中看到了 DELETE。当我单击“信息”时,我在右侧面板上看到五个选项卡。在预览和响应选项卡下,我看到了正确的数据。我只是不知道如何在我的 Javascript 中查看或检索它。

这是javascript服务代码:

var MyServices = angular.module('MyServicesName', ['ngResource']);

MyServices.factory('AAAService', function($resource) {
return $resource(serverBaseUrl + 'users/:userId/Video/:videoId/', {userId: '@userId', videoId: '@videoId'}, {
show: {method: 'GET'},
update: {method: 'PUT', params: {id: '@id'}},
delete: {method: 'DELETE', isArray:false}
});
});

和 Controller :

quizcatControllers.controller('BBBCtrl', ['$scope', '$stateParams', '$http', 'AAAService',
function($scope, $stateParams, $http, AAAService) {
$scope.deleteQuestion = function(user, videoId) {
AAAService.delete({userId: user, videoId: videoId}, function(a, b) {
console.log(a);//Expect to print the data
console.log(b);
});

有人可以建议应该如何更改我的代码以便我可以从响应中获取数据吗?虽然我的响应数据不是数组格式,但我想知道如何为两者做到这一点:数组和非数组样式。

以下行中的 a 和 b 应该是什么专有名称:

AAAService.delete({userId: user, videoId: videoId}, function(a, b) {

更新:

这是我在参数 returnValue 的成功回调中得到的结果:

0: "S"
1: "u"
2: "c"
3: "e"
4: "s"
5: "s"
$promise: Object
$resolved: true
proto: Resource

最佳答案

使用资源可能有点困惑(至少它们最初是为我准备的)。

我认为你的问题是你对 delete 的调用没有使用正确的签名('GET' 方法和 'non-GET' 方法有不同的签名。在这种情况下,看起来你发送的是什么旨在作为 postData 作为您的回调函数(用于成功和错误)。您使用的签名用于“GET”方法(没有 postData)。

调用 delete 的签名应如下所示(参见文档 here ):

Resource.action([parameters], postData, [success], [error])

所以,你可以这样做:

quizcatControllers.controller('BBBCtrl', ['$scope', '$stateParams', '$http', 'AAAService', 
function($scope, $stateParams, $http, AAAService) {
$scope.deleteQuestion = function(user, videoId) {
AAAService.delete(
{userId: user, videoId: videoId}, // parameters
{}, // postData, which you don't need for this
// success callback
function (returnValue, responseHeaders) {
// do what you want with the returnValue from the call here
},
// error callback
function (httpResponse) {
// do what you want for error handling here
})
};
}]);

关于javascript - 无法读取来自 AngularJS $resource DELETE 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749148/

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