2014-12-09 33 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

相关问题