XMLHttpRequest referrer and iframe

XMLHttpRequest referrer and iframe

本文关键字:iframe and referrer XMLHttpRequest      更新时间:2023-09-26

Page A 包含执行XMLHttpRequest的 javascripts 函数。页面A在 iframe 中加载页面B。页面 B 执行parent.makeRequest()函数,该函数又执行XHR请求。我希望XHR请求的引用/来源是第 B 页,但它是第 A 页。有什么办法可以解决这个问题吗?

您无法控制Referer标头的值。

使用 setRequestHeader 方法发出 XHR 请求时,可以调整某些 HTTP 标头。 但是,Referer标头除外。 从规格:

上述标头 [包括Referer] 由用户代理控制,以使其控制传输的这些方面。这在一定程度上保证了数据的完整性。

但是,您可以设置自定义标头。 例如,您可以使用 X-Referer ,如果这适合您的应用程序:

xhr.setRequestHeader('X-Referer', location.href);