我们最近在做I18N,我们有一个菜单来切换语言en,jp和fr之间的语言。 一旦我们切换语言,网址就像下面一样,在网址的末尾有一个查询字符串附加。
http://localhost:3030/loadTests?lang=en
以下是问题,因为我们不会在所有现有链接和href中附加lang参数,如果我们点击网站上的某个链接,则网址将如下:
http://localhost:3030/loadTests/1
querystring lang = en没有附加到url的末尾,我们希望lang = en总是追加到url的末尾,我该如何实现呢?
希望我能清楚地描述我的问题。
提前致谢!
答案 0 :(得分:7)
您可以使用Angular JS http Interceptors来执行此操作。
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;
}
}
});
});
编辑:要从网址获取当前查询字符串参数,您可以按照此回答操作。 - > How can I get query string values in JavaScript?
然后在代码中你可以像这样写:
config.url = config.url + '?lang=' + getParameterByName('lang');