例如,以a RESTful CRUD SPA with angularjs爲例。Angularjs JavaScript在CRUD SPA中使用PUT時速度更快
在Angularjs中使用RESTful方法時,我遇到了update/delete/etc等情況。沒有進行硬刷新(F5)不會反映在列表中。這是因爲保存/更新/刪除花費的時間超過了JavaScript運行下一個應更新列表的命令。
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
};
來自例如, .NET MVC在這樣的情況下,我會返回來自更新(返回值)的項目列表。腳手架的Web API控制器是RESTful的,它不會從POST,PUT或DELETE中返回任何東西。
// DELETE api/<controller>/5
public **void** Delete(int id)
{
// delete...
}
在Angularjs我能想象一對夫婦的方法,以確保用戶的列表始終是最新的。 (例如在$ scope中維護一個列表,並用POST/PUT/DELETE調用同時修改它,但看起來很麻煩)
Angularjs中使用REST風格確保最佳方法是什麼?一個列表有準確的最新數據?如果沒有一般的方法,在這個示例應用程序中處理它的最佳方式是什麼。
由於Web API控制器是RESTful的,它不會從POST,PUT或DELETE_返回任何東西 - RESTful是沒有理由不返回的ñ什麼。 – zeroflagL 2014-09-28 19:05:28
感謝您的澄清,我想這只是一個Web API腳手架默認。 – lko 2014-09-28 19:13:39