gpt4 book ai didi

javascript - 从服务器获取 Angular 工厂中新创建资源的 ID

转载 作者:可可西里 更新时间:2023-11-01 10:33:12 27 4
gpt4 key购买 nike

我正在构建一个由 Node.js/Mongodb 应用程序支持的 Angular 应用程序。

每个资源的 id 由 Mongodb 在创建资源时生成。

在我从工厂POST 我的新对象到服务器后,服务器返回一个201 响应代码,其中位置 header 设置为新资源的URI。我如何处理响应,然后使用正确的 id 更新记录?

angular.module('myApp.Todoservices',['ngResource']).
factory('Todo',function($resource){
return $resource('http://localhost\\:3000/todos/:id', {id:'@_id'}, {
getAll: {method:'GET', isArray:true},
update : {method:'PUT'},
create : {method:'POST'},
delete : {method:'DELETE'}
});
});

最佳答案

如前所述,$resource 不支持,我不知道为什么。但是,这是我的解决方法。

var tmpPart = new MyResource({name: $scope.item.name});
tmpPart.$create(function(_tmpPart, responseHeaders){
$resource(responseHeaders("Location")).get(function(tempResourceObject){
$scope.myResourceObjects.push(new MyResource(tempResourceObject))
});
});

new MyResource(tempResourceObject) 是资源对象的新实例,您可以用它做任何想做的事。

关于javascript - 从服务器获取 Angular 工厂中新创建资源的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254714/

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