小编joe*_*nte的帖子

Angular不对url中的分号字符进行编码

我们的url参数需要一个编码的分号字符,但angular不会对此字符进行编码.

我们使用的资源看起来像这样:

app.factory('TestResource', ['$resource', function ($resource) {
    return $resource('http://somedomain.com');
}]);

app.run(['TestResource', function (TestResource) {
    TestResource.query({
        q: 'sin;sout'
    });
}]);
Run Code Online (Sandbox Code Playgroud)

这是我们得到的结果:

http://somedomain.com/?q=sin;sout
Run Code Online (Sandbox Code Playgroud)

我们希望网址为:

http://somedomain.com/?q=sin%3Bsout
Run Code Online (Sandbox Code Playgroud)

但是如果我们在发送%char之前对参数进行预编码,那么编码如下:

http://somedomain.com/?q=sin%253Bsout
Run Code Online (Sandbox Code Playgroud)

我们怎样才能得到理想的结果?(http://somedomain.com/?q=sin%3Bsout)

angularjs

3
推荐指数
1
解决办法
2415
查看次数

标签 统计

angularjs ×1