【发布时间】:2014-04-08 18:08:53
【问题描述】:
在我当前的项目中,我有一个 drupal 后端,它为我的前端公开了休息服务。 对我的后端的一些调用并不真正喜欢对 url 实体进行编码。
所以我的问题是:如何禁用某些参数的 URL 编码?
例子:
我需要在不同的搜索词之间使用“+”号来调用我的后端。像这样:
http://backend.com/someservice/search/?terms=search+terms+here
但是有角度,设置如下:
var resource = $resource(
backendUrl + '/views/:view', {},
{
'search': {params:{view:'searchposts'}, isArray:true}
}
);
// search posts for the given terms
this.searchPosts = function(terms, limit) {
resource.search({search:terms.join('+'), limit:limit});
};
调用以下网址:
http://backend.com/someservice/search/?terms=search%2Bterms%2Bhere
有什么建议吗?谢谢!
【问题讨论】:
-
别打了。只需使用
decodeURIComponent()取回+ -
由 rfc uris 应该被编码。在服务器上解码。
-
如果我没有或无法访问服务器怎么办?如果服务器是一些无法更改的外部系统怎么办?不是真正的解决方案...
标签: javascript angularjs rest