1

我们最近在做 I18N,我们有一个菜单可以在语言 en、jp 和 fr 之间切换语言。一旦我们切换语言,url就会变成下面这样,在url的末尾有一个查询字符串。

http://localhost:3030/loadTests?lang=en

这是问题,因为我们没有在所有现有的链接和hrefs中附加 lang 参数,如果我们点击网站上的某个链接,url 会像:

http://localhost:3030/loadTests/1

查询字符串 lang=en 没有附加在 url 的末尾,我们希望 lang=en 始终附加在 url 的末尾,我该如何实现呢?

希望我清楚地描述我的问题。

提前致谢!

4

1 回答 1

7

您可以使用Angular JS http 拦截器来执行此操作。

    var app = angular.module('myApp', []);

    app.config(function ($httpProvider) {
         $httpProvider.interceptors.push(function ($q) {
             return {
                 'request': function (config) {
                     config.url = config.url + '?lang=en';
                     return config;
                 }

             }
         });
     });

编辑:为了从 url 中获取当前的查询字符串参数,您可以按照这个答案。-->如何在 JavaScript 中获取查询字符串值?

然后在代码中你可以这样写:

config.url = config.url + '?lang=' + getParameterByName('lang');
于 2014-12-30T06:47:44.230 回答