2015-09-26 54 views
1

我想调用在其路径参数中有特殊字符的REST服务。其余的URL看起来像,

rest\fetchDetails\[1,2,3] 

我使用$ HTTP像是刚刚调用它,

$http.get('rest\fetchDetails\[1,2,3]'); 

它不工作,当我调试使用Firebug它,我可以看到网址被作为

rest\fetchDetails\%5B1,2,3%5D 

当调用$ http调用时,是否有任何方式发送'['和']'?

回答

5

解决方案1:

尝试使用POST请求和POST请求通过PARAMS。

解决方案2:

'[]' 是对于特殊的URL字符。所以它会被编码。

如果你想解码这是你的服务器代码,你可以做到这一点。

0

您实际上正在发送'['和']',但是它们是url-encoded,$http.get方法。 url编码是必须的,因为HTTP标准只允许一些字符(字母数字加一些)发送非url编码。

顺便说一句,我假设你的URL中的反斜杠()是正斜杠(/),否则它们也会被url编码。