XMLHttpRequest引用者和iframe

Gaj*_*jus 3 javascript xmlhttprequest referer

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

lon*_*day 5

您无法控制Referer标头的值.

使用该setRequestHeader方法发出XHR请求时,可以调整某些HTTP标头.但是,Referer标题是特别例外.从规格:

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

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

xhr.setRequestHeader('X-Referer', location.href);
Run Code Online (Sandbox Code Playgroud)