我正在尝试调用其路径参数中具有特殊字符的REST服务。其余网址看起来像,
rest\fetchDetails\[1,2,3]
我只是使用$ http like,
调用它$http.get('rest\fetchDetails\[1,2,3]');
它无法正常工作,当我使用firebug进行调试时,我可以看到网址是以
的形式发送的rest\fetchDetails\%5B1,2,3%5D
在调用$ http调用时有没有办法发送'['和']'?
答案 0 :(得分:5)
解决方案1:
尝试使用帖子请求并在帖子请求中传递参数。
解决方案2:
'[]'是URL的特殊字符。所以它将被编码。
如果您要解码这是您的服务器代码,您可以这样做。
答案 1 :(得分:0)
您实际上正在发送' ['和']'但是$http.get
方法它们是url-encoded。 url编码是必要的,因为HTTP标准只允许一些字符(字母数字加一些)被发送非url编码。
顺便说一句,我假设您的URL中的反斜杠()是常规斜杠(/),否则它们也会被网址编码。