Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Javascript 如何在angularjs中删除请求对象中的文件_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在angularjs中删除请求对象中的文件

Javascript 如何在angularjs中删除请求对象中的文件,javascript,angularjs,Javascript,Angularjs,我从angularjs控制器向服务器请求获取一个对象,我想在视图显示该对象之前删除该对象中的一个字段。下面是我的代码 $scope.findOne = function() { $scope.order = Orders.get({ orderId: $stateParams.orderId }); delete $scope.order._id; console.log(JSON.stringify($scope.order)); }; 它打印

我从angularjs控制器向服务器请求获取一个对象,我想在视图显示该对象之前删除该对象中的一个字段。下面是我的代码

$scope.findOne = function() {
    $scope.order = Orders.get({
        orderId: $stateParams.orderId
    });
    delete $scope.order._id;
    console.log(JSON.stringify($scope.order));
};
它打印

{"$promise":{},"$resolved":false}
它不会删除id字段。我的视图显示我的对象的偶数id。如何删除该字段

以下是我的服务文件

"严格使用",

//Orders service used for communicating with the orders REST endpoints
angular.module('orders').factory('Orders', ['$resource',
    function($resource) {
        return $resource('orders/:orderId', {
            orderId: '@_id'
        }, {
            update: {
                method: 'PUT'
            }
        });
    }
]);
当我将findOne()更改为

我在控制台中得到这个错误

 TypeError: undefined is not a function
    at Scope.$scope.findOne (http://localhost:3000/modules/orders/controllers/orders.client.controller.js:56:14)
    at http://localhost:3000/lib/angular/angular.js:10903:21
    at Scope.$eval (http://localhost:3000/lib/angular/angular.js:12811:28)
    at pre (http://localhost:3000/lib/angular/angular.js:20125:15)
    at nodeLinkFn (http://localhost:3000/lib/angular/angular.js:6732:13)
    at compositeLinkFn (http://localhost:3000/lib/angular/angular.js:6146:13)
    at publicLinkFn (http://localhost:3000/lib/angular/angular.js:6042:30)
    at http://localhost:3000/lib/angular-ui-router/release/angular-ui-router.js:3905:9
    at nodeLinkFn (http://localhost:3000/lib/angular/angular.js:6752:13)
    at compositeLinkFn (http://localhost:3000/lib/angular/angular.js:6146:13) <section data-ng-controller="OrdersController" data-ng-init="findOne()" class="ng-scope">angular.js:10126 (anonymous function)
TypeError:未定义不是函数
在范围内。$Scope.findOne(http://localhost:3000/modules/orders/controllers/orders.client.controller.js:56:14)
在http://localhost:3000/lib/angular/angular.js:10903:21
在范围内。$eval(http://localhost:3000/lib/angular/angular.js:12811:28)
预先(http://localhost:3000/lib/angular/angular.js:20125:15)
在诺德琳(http://localhost:3000/lib/angular/angular.js:6732:13)
在KFN(http://localhost:3000/lib/angular/angular.js:6146:13)
在publicLinkFn(http://localhost:3000/lib/angular/angular.js:6042:30)
在http://localhost:3000/lib/angular-ui-router/release/angular-ui-router.js:3905:9
在诺德琳(http://localhost:3000/lib/angular/angular.js:6752:13)
在KFN(http://localhost:3000/lib/angular/angular.js:6146:13)js:10126(匿名函数)

Orders.get函数返回一个承诺,记住这一点,您的代码应该如下所示:

Orders.get({orderId: $stateParams.orderId}).then(function(order) {
  delete order._id;
  $scope.order = order;
});
希望这有帮助, 让我知道


干杯

Orders.get函数返回一个承诺,记住这一点,您的代码应该如下所示:

Orders.get({orderId: $stateParams.orderId}).then(function(order) {
  delete order._id;
  $scope.order = order;
});
希望这有帮助, 让我知道


干杯

Orders.get函数返回一个承诺,记住这一点,您的代码应该如下所示:

Orders.get({orderId: $stateParams.orderId}).then(function(order) {
  delete order._id;
  $scope.order = order;
});
希望这有帮助, 让我知道


干杯

Orders.get函数返回一个承诺,记住这一点,您的代码应该如下所示:

Orders.get({orderId: $stateParams.orderId}).then(function(order) {
  delete order._id;
  $scope.order = order;
});
希望这有帮助, 让我知道


干杯

默认情况下,get返回一个promise对象。这样做的方法是

$scope.findOne = function() {
    Orders.get({
        orderId: $stateParams.orderId
        }).success(function(res)
        {
            delete res.data._id;
            $scope.order = res.data;
    });
};

默认情况下,get返回一个promise对象。这样做的方法是

$scope.findOne = function() {
    Orders.get({
        orderId: $stateParams.orderId
        }).success(function(res)
        {
            delete res.data._id;
            $scope.order = res.data;
    });
};

默认情况下,get返回一个promise对象。这样做的方法是

$scope.findOne = function() {
    Orders.get({
        orderId: $stateParams.orderId
        }).success(function(res)
        {
            delete res.data._id;
            $scope.order = res.data;
    });
};

默认情况下,get返回一个promise对象。这样做的方法是

$scope.findOne = function() {
    Orders.get({
        orderId: $stateParams.orderId
        }).success(function(res)
        {
            delete res.data._id;
            $scope.order = res.data;
    });
};

我把函数改为

    $scope.findOne = function() {
        var order = Orders.get({
            orderId: $stateParams.orderId
        }, function()
        {
            order.order_type = 'new';
        });
         $scope.order = order;
    };

它成功了。我想知道angularjs更新中是否更改了语法。$resource中提到了类似的语法。虽然我无法找出其他带有success回调的答案不起作用的原因。

我将函数改为

    $scope.findOne = function() {
        var order = Orders.get({
            orderId: $stateParams.orderId
        }, function()
        {
            order.order_type = 'new';
        });
         $scope.order = order;
    };

它成功了。我想知道angularjs更新中是否更改了语法。$resource中提到了类似的语法。虽然我无法找出其他带有success回调的答案不起作用的原因。

我将函数改为

    $scope.findOne = function() {
        var order = Orders.get({
            orderId: $stateParams.orderId
        }, function()
        {
            order.order_type = 'new';
        });
         $scope.order = order;
    };

它成功了。我想知道angularjs更新中是否更改了语法。$resource中提到了类似的语法。虽然我无法找出其他带有success回调的答案不起作用的原因。

我将函数改为

    $scope.findOne = function() {
        var order = Orders.get({
            orderId: $stateParams.orderId
        }, function()
        {
            order.order_type = 'new';
        });
         $scope.order = order;
    };


它成功了。我想知道angularjs更新中是否更改了语法。$resource中提到了类似的语法。虽然我无法找出其他带有success回调的答案不起作用的原因。

Orders.get
可能会返回一个承诺,您可以立即登录到控制台。无论如何,我不理解整个“在视图显示之前删除”-只是不在视图中渲染我可以避免渲染视图,但我想知道原因。
Orders.get
可能会返回一个承诺,您可以立即登录到控制台。无论如何,我不理解整个“在视图显示之前删除”-只是不在视图中渲染我可以避免渲染视图,但我想知道原因。
Orders.get
可能会返回一个承诺,您可以立即登录到控制台。无论如何,我不理解整个“在视图显示之前删除”-只是不在视图中渲染我可以避免渲染视图,但我想知道原因。
Orders.get
可能会返回一个承诺,您可以立即登录到控制台。在任何情况下,我都不理解整个“在视图显示之前删除”-只是不在视图中渲染我可以避免渲染视图,但我很想知道原因。当我将其更改为您提到的方式时,它会给出errorTypeError:undefined不是作用域中的函数。$Scope.findOne()@raju当堆栈轨迹从56行号开始时,可以在56行号处添加断点。另外,如果您能告诉我们第56行是什么,那也会有帮助。我假设是delete语句。如果是这样,可能是因为res.data无效,或者res.data.\u id是一个私有字段(按照JavaScript的约定),angular可能会阻止它。最好的办法是设置一个断点并检查。第56行是成功的一行。GET请求得到成功执行。我认为success方法没有定义,但应该定义!当我将其更改为您提到的方式时,它给出了errorTypeError:undefined不是作用域中的函数。$Scope.findOne()@raju您可以在堆栈跟踪从此处开始时,在56行号处添加断点。另外,如果您能告诉我们第56行是什么,那也会有帮助。我假设是delete语句。如果是这样,可能是因为res.data无效,或者res.data.\u id是一个私有字段(按照JavaScript的约定),angular可能会阻止它。最好的办法是设置一个断点并检查。第56行是成功的一行。GET请求得到成功执行。我认为success方法没有定义,但应该定义!当我将其更改为您提到的方式时,它给出了errorTypeError:undefined不是作用域中的函数。$Scope.findOne()@raju您可以在堆栈跟踪从此处开始时,在56行号处添加断点。另外,如果您能告诉我们第56行是什么,那也会有帮助。我假设是delete语句。我