资源参数中的角传递特殊字符解码失败



我正在搜索解码我的URL子弦参数的前向斜杠,该斜线以%2F而不是/

发送
var Report = $resource('api/v1/report/:action/:key', {key:'@key'}, {
getById: {
                method: 'GET',
                params: {
                    action: 'abc/source'
                }
            },
});

我在进行一些单元测试时会得到异常,但是它正在使用浏览器测试。

错误:意外请求:获取API/V1/REPORT/ABC%2FSource/raj

如何始终将其视为/

我也尝试使用JavaScript decodeURIComponent,但似乎不起作用。任何想法

谢谢

$resource正正确地将/转换为%2F,因为它是URL的一部分。似乎您需要更改$resource的URL,可以被覆盖。

在资源声明方法中,声明覆盖了url。

url - {string} - 特定于操作的URL覆盖。像资源级URL一样支持URL模板。

代码

var Report = $resource('api/v1/report/:action/:key', {
        key: '@key'
    }, {
        getById: {
            url: 'api/v1/report/:action1/:action2/:key',  //Override URL for getById
            method: 'GET',
            params: {
                action1: 'abc',
                action2: 'source'
            }
        },
    });

最新更新