1

我發現處理使用單頁應用程序時從後端返回的Flash消息非常困難。從SPA前端獲取後端Flash消息

假設有五個動作:

登錄,註銷,搜索,添加,刪除。

每個動作都會發出消息(成功或失敗,可能會更多)。在非SPA中,很容易在模板中執行類似的backend.getFlash()以獲取存儲在會話中的消息。

但是,在SPA中,如果結果以JSON返回,當然後端可以將消息傳遞給js框架,比如說說angularjs。但它真的很乏味,而且根本不靈活。

有沒有人有任何想法或經驗?

感謝

回答

2

從你的問題我明白你真正想要的是讓每一個行動的一些消息,說爲刪除你需要顯示類似「成功刪除」的消息,你不希望此消息與您的後端的結果集一起發送。

在AngularJS中,您可以通過使用service來顯示消息來實現此目的。

這裏是一個例子;

在AngularJS

app.factory('FlashService', function ($rootScope) { 

    return { 
     show: function (message) { 
      $rootScope.flash = message; 
      return message; 
     }, 
     clear: function() { 
      $rootScope.flash = ''; 
      return null; 
     } 
    }; 
}); 

這裏FlashService是要創建的服務的名稱創建一個像這樣的服務,不打擾你可以給你所選擇的任何名稱的名稱。

要使用此服務將其注入任何你想要的地方;

var app = angular.module("your app name", []); 

app.controller("MyCtrl", function(FlashService) { 
    FlashService.show("I am here"); 
}); 

而且用它在你的HTML像

<div id="flash">{{flash}}</div>