hua*_*eng 1 angularjs angular-ui-router angular-translate
我们最近正在做I18N,我们有一个菜单来切换语言en,jp和fr之间的语言.一旦我们切换语言,网址变得如下,在网址的末尾有一个查询字符串附加.
http://localhost:3030/loadTests?lang=en
Run Code Online (Sandbox Code Playgroud)
这是一个问题,因为我们不会在所有现有链接和href中附加lang参数,如果我们点击网站上的某个链接,则网址将如下:
http://localhost:3030/loadTests/1
Run Code Online (Sandbox Code Playgroud)
查询字符串lang = en没有追加到url的末尾,我们希望lang = en总是追加到url的末尾,我该如何实现呢?
希望我能清楚地描述我的问题.
提前致谢!
您可以使用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;
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
编辑:为了从网址获取当前查询字符串参数,您可以按照此答案.- > 如何在JavaScript中获取查询字符串值?
然后在代码中你可以像这样写:
config.url = config.url + '?lang=' + getParameterByName('lang');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3683 次 |
| 最近记录: |