【发布时间】:2018-09-05 21:50:29
【问题描述】:
在我们的应用程序中,对于每个请求,前端都会对 url + 数据进行哈希处理并将它们发送到服务器。然后服务器验证查询参数以及数据没有被篡改。但是,在httpinterceptor中,我只能查看config.url和config.params。没有办法获得绝对网址,所以我不能直接对它进行哈希处理。我该怎么做呢?我尝试了一些类似
的东西var url;
var params;
for (var i = 0; i < config.params.length; i++){
params+=config.params[i].name+'='+config.params[i].value;
}
url = config.url+'?'+params;
但这不起作用,因为我似乎无法以这种方式访问参数。另外,如何确定参数与请求 URL 的顺序相同?显然,如果它甚至有 1 个字符不同,哈希就不会是正确的。
【问题讨论】:
-
为什么不
window.location.href? -
为什么获取绝对网址这么难?您知道应用程序中的基础是什么,并且可以轻松地将其设置为常量
-
@charlietfl 使用 config.url 获取基本 url 很好,但我也需要查询字符串。
-
@AvraamMavridis,window.location.href 仅对我所在页面的 url 有帮助。它无法帮助我获取 API 调用的 URL
-
我非常需要这个。我也发布了一个单独的问题。 link
标签: angularjs angular-http-interceptors