在CRUD SPA中使用PUT时,Angularjs JavaScript将加快速度
例如,看一看 当对Angularjs使用RESTful方法时,我遇到了更新/删除/等在没有硬刷新(F5)的情况下不会反映在列表中的情况。之所以发生这种情况,是因为save/update/delete比JavaScript运行下一个应该更新列表的命令所需的时间要长在CRUD SPA中使用PUT时,Angularjs JavaScript将加快速度,angularjs,rest,asp.net-web-api,single-page-application,Angularjs,Rest,Asp.net Web Api,Single Page Application,例如,看一看 当对Angularjs使用RESTful方法时,我遇到了更新/删除/等在没有硬刷新(F5)的情况下不会反映在列表中的情况。之所以发生这种情况,是因为save/update/delete比JavaScript运行下一个应该更新列表的命令所需的时间要长 app.controller('UserDetailCtrl', ['$scope', '$routeParams', 'UserFactory', '$location', function ($scope, $routeParams
app.controller('UserDetailCtrl', ['$scope', '$routeParams', 'UserFactory', '$location',
function ($scope, $routeParams, UserFactory, $location) {
// callback for ng-click 'updateUser':
$scope.updateUser = function () {
UserFactory.update($scope.user); // Before this is done
$location.path('/user-list'); // this has already fetched the (outdated) list
};
来自例如NETMVC,在这种情况下,我将从更新中返回项目列表(返回值)。搭建的WebAPI控制器是RESTful的,它不会从POST、PUT或DELETE返回任何内容
// DELETE api/<controller>/5
public **void** Delete(int id)
{
// delete...
}
//删除api//5
公共**无效**删除(内部id)
{
//删除。。。
}
在Angularjs中,我可以设想几种方法来确保用户列表始终是最新的。(例如,在$scope中维护一个列表,并在POST/PUT/DELETE调用的同时对其进行修改,但这似乎很麻烦)
Angularjs中使用RESTful样式来确保列表具有准确的最新数据的最佳方法是什么?如果没有通用的方法,那么在这个示例应用程序中处理它的最佳方法是什么。在更改路径之前,您可以等待AJAX请求完成:
UserFactory.update($scope.user, function() {
$location.path('/user-list');
});
在这样的场景中,我使用了$http或$resource服务
- $http
- $resource
使用$resource可以在promise内重定向。$promise。然后因为Web API控制器是RESTful的,所以它不会从POST、PUT或DELETE返回任何内容-RESTful并不是不返回任何内容的理由。感谢您的澄清,我想这只是Web API的默认设置。啊,回调。非常合身!