资源中的参数中的特殊字符

时间:2014-05-23 08:24:12

标签: angularjs url-encoding angular-resource

我想发送一个REST获取资源并传递一个带有特殊字符的查询。我没有选择,需要使用它。

例如:

var query = 'firstParam:*firstparam*+path:\\/path\\/to\\/folder*';
myRestService.search(query).file();

以下是第二行调用的方法:

this.search = function(query){
        var url = config.domain + 'search/';
        var methods = resource(url, null, { 
            'file': {                    
                method:'GET', 
                params: { 'q': query },
                headers:{'x-ufapi-workspace' : 'TESTWS', 'Accept' : 'application/json'/*, 'ufapi-details':'attr'*/}
            }
        });
        return methods;
    };

所以我使用+替换为\/替换为%2B%5C%2F*时出现问题。 所以我的API不理解我的查询。

我发现我可以在这里更改角度源代码,但我认为这不是一个好的解决方案。

stop angular.js from rewriting "+" to "%2B" in url

你认为我能做什么?

1 个答案:

答案 0 :(得分:0)

在您的API第一步中,您可以使用与角度编码网址相同的规则解码您的网址,然后再发送到API