2014-12-09 37 views
0

假設我有一個單頁應用程序,它將AJAX請求發送到http://www.somesite.com/resources?lang=en如何「刷新」單個頁面應用程序

現在,讓我們說我的應用程序有一個特殊的變量爲請求的語言,也就是說,如果變量的值是en,那麼AJAX請求將發送一個查詢參數lang=en

現在,兩個可能的值是enes

此變量的值可以由用戶動態更改(單擊按鈕)。

因此,如果我們使用的應用程序與language = en,那麼應用程序將發送lang=en查詢參數。如果用戶將語言更改爲es,那麼我希望應用程序可以重新發送所有的AJAX請求,但現在使用lang=es查詢參數。

這將像刷新網站,但通過AJAX請求異步。

我一直在想這個昨天,我找不到在AngularJS應用程序中處理這個邏輯的方法。

我不是AngularJS的專家,但我理解模塊,指令,服務和控制器的概念。

什麼是處理這種情況的最佳方法?也就是說,我想避免不得不手動調用每個AJAX請求,我寧願創建一個自動執行此操作的方法。

回答

0

將ajax url與lang參數重新拼接並再次請求的最佳方法。

所以你會得到所有關於lang參數的新數據庫,在請求ajax調用之前不會忘記處理緩存。

+0

我正在尋找一種方法來處理在應用程序上重新發送** all **我的ajax請求。更像是一個服務,我會執行它作爲'myService.refreshPage(lang)' – 2014-12-09 12:00:00

+0

是創建一個方法refreshPage()和所有的請求那裏。 – asimshahiddIT 2014-12-09 12:01:05

+0

正如我在問題中所述,我不想手動發送請求,我希望我的應用程序將它們全部發送,而無需在代碼中手動調用它們,因此我可以靈活地在其他人上添加或刪除AJAX調用部分我的應用程序。更像我的服務,在我的網站上標識AJAX呼叫,並重新發送全部 – 2014-12-09 12:03:03

1

你有沒有嘗試過任何AngularJS插件? 首先想到的是Angular translate

+0

我也使用了'Angular Translate'。但是有從服務器返回的資源,並且這些資源需要翻譯。我們決定通過查詢參數在服務器端進行翻譯 – 2014-12-09 12:04:17

相關問題