我目前正在AngularJS 1中创建一个搜索功能。我使用Restangular来在我的JS前端和API之间进行通信。
我当时想知道,特别是AngularJS或Restangular会从我的请求中删除某些字符吗?
我正在使用Restangular:
执行以下get请求Restangular.all( '细节')。得到(detail_id)。然后(函数(detailResult) {//等等......
但是,如果detail_id设置为:2019,则此方法有效 但是当detail_id设置为:2019#1
时然后Restangular(我假设)自动剥离#1,我在服务器端看不到这一点。
我在这里犯了错误,或者这是使用Restangular获取请求的限制,或者这是否按预期工作,我错过了什么?
感谢任何帮助, 感谢
答案 0 :(得分:1)
这是设计的。 #
之后的部分称为fragment
,并且它从未发送到服务器,因为它应该仅在客户端使用。
每Wikipedia's article on the subject:
片段标识符的功能与URI的其余部分不同:即,它的处理完全是客户端的,没有来自Web服务器的参与
如果#实际上是id的一部分,则需要对参数进行url编码,如下所示:
Restangular.all('details').get(encodeURIComponent(detail_id)).then(function(detailResult) { // etc...