Javascript 是否为XMLHttpRequest设置referer?

Javascript 是否为XMLHttpRequest设置referer?,javascript,jquery,ajax,internet-explorer,Javascript,Jquery,Ajax,Internet Explorer,我正在使用以下命令成功发送XMLHttpRequest: var createCORSRequest = function(method, url) { var xhr = new XMLHttpRequest(); if ("withCredentials" in xhr) { // Most browsers. xhr.open(method, url, true); } else if (typeof XDomainRequest != &q

我正在使用以下命令成功发送
XMLHttpRequest

var createCORSRequest = function(method, url) {
  var xhr = new XMLHttpRequest();
  if ("withCredentials" in xhr) {
    // Most browsers.
    xhr.open(method, url, true);
  } else if (typeof XDomainRequest != "undefined") {
    // IE8 & IE9
    xhr = new XDomainRequest();
    xhr.open(method, url);
  } else {
    // CORS not supported.
    xhr = null;
  }
  return xhr;
};

var url = 'http://www.whatismyip.com';
var method = 'GET';
var xhr = createCORSRequest(method, url);

xhr.onload = function() {
  // Success code goes here.
};

xhr.onerror = function() {
  // Error code goes here.
};


xhr.setRequestHeader('referer', 'http://www.google.com');
xhr.send();
但是,我无法定义我的
referer
。添加自定义引用的正确方法是什么?

您不能。更改
referer
标题(这会阻止位于其中的站点绕过某些站点使用referer进行的安全检查)

如果标头与以下标头之一不区分大小写匹配,则终止这些步骤:

  • 推荐人

您可以尝试以下方法:

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

然后阅读此自定义X-Referer标题。

我也有同样的问题,无法理解为什么XMLHttpRequest没有Referer或用户代理信息?有没有办法用fetch或axios捕捉它们?