AngularJS:为$http设置正确的“Referer”标头

6

看起来当你使用$http服务发送请求时,引用者头部设置为没有angular $location信息的基本url。

如何在所有请求中将$location.path()附加到该标头?

当发生错误时,我们的API调用将记录该引用者头部; 但是,如果我们可以存储用户的实际位置(“stackoverflow.com/#/question/1234”与仅“stackoverflow.com/”相对),那将非常有帮助。


但那并不是脚本的实际位置;那只是在地址栏中显示的内容。引起错误的是变量,因此您需要记录这些变量。 - Blazemonger
所有参数都被记录下来了,但是如果能够准备好URL而不是试图通过参数反向工程用户所在的位置会更好。 - John
也许你可以将感知到的URL作为参数传递呢? - Blazemonger
1个回答

5
我最终做了这样的事情:
$httpProvider.interceptors.push(function ($location) {
    return {
        request: function (config) {
            config.headers["RefererFullUrl"] = $location.absUrl();
            return config;
        }
    };
});

看起来如果你试图更改“referer” URL,浏览器不太满意,因此我只是将其命名为其他名称,并在服务器上专门查找该标头。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接