我正在尝试使用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:



更新:

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

最佳答案

使用资源可能会有些困惑(至少它们最初是对我而言)。

我认为您的问题是删除 call 未使用正确的签名(“GET”方法和“非GET”方法使用不同的签名。在这种情况下,您似乎正在发送要发送的内容您的回调函数(用于成功和错误)为postData。您使用的签名用于“GET”方法(不具有postData)。

您要删除的 call 的签名应如下所示(请参阅文档here):



因此,您可以执行以下操作:

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/

10-12 00:00
查看更多