AngularJS中如何解决中文参数乱码问题?
今天在项目中遇到一个问题:
<li><a href="detail.html?name={{item.name}}" title="{{item.name}}" >{{item.name | limitTo:4}}</a></li>
由于item.name返回的是中文名称,结果到detail页中获取到的name直接show在页面上时,就变成了乱码。
解决方案如下:
在js中写过滤器
var app = angular.module('kepler',['ui.bootstrap']);
app.filter('encodeUri', function ($window) {
return $window.encodeURIComponent;
});
app.filter('escape', function() {
return window.escape;
});
然后在html中修改如下
<li><a href="detail.html?name={{item.name | escape}}" title="{{item.name}}" >{{item.name | limitTo:4}}</a></li>
<li>{{item.level}}</li>