AngularJS 1 Restangular GET剥离#

时间:2016-10-24 13:11:17

标签: javascript angularjs restangular

我目前正在AngularJS 1中创建一个搜索功能。我使用Restangular来在我的JS前端和API之间进行通信。

我当时想知道,特别是AngularJS或Restangular会从我的请求中删除某些字符吗?

我正在使用Restangular:

执行以下get请求
  

Restangular.all( '细节')。得到(detail_id)。然后(函数(detailResult)   {//等等......

但是,如果detail_id设置为:2019,则此方法有效 但是当detail_id设置为:2019#1

然后Restangular(我假设)自动剥离#1,我在服务器端看不到这一点。

我在这里犯了错误,或者这是使用Restangular获取请求的限制,或者这是否按预期工作,我错过了什么?

感谢任何帮助, 感谢

1 个答案:

答案 0 :(得分:1)

这是设计的。 #之后的部分称为fragment,并且它从未发送到服务器,因为它应该仅在客户端使用。

Wikipedia's article on the subject:

  

片段标识符的功能与URI的其余部分不同:即,它的处理完全是客户端的,没有来自Web服务器的参与

如果#实际上是id的一部分,则需要对参数进行url编码,如下所示:

Restangular.all('details').get(encodeURIComponent(detail_id)).then(function(detailResult) { // etc...