在javascript中设置多个请求标头

isa*_*sar 4 ajax es6-promise

setRequestHeader像下面这样使用两次是一个好习惯吗?我需要使用它X-Requested-With来获取一些 HTML 表单。

function formRequest (method, url) {
  return new Promise(function (resolve, reject) {
    var client = new XMLHttpRequest();
    client.open(method, url);
    client.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    client.setRequestHeader('Content-Type', 'text/html');
    client.onload = function () {
      // ...
      resolve(client.response);
    };
    // ...
    client.send();
  });
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

顺便说一下,无论有没有Content-type.

But*_*uts 6

request.setRequestHeader()可以多次调用,每次调用都会添加一个新的标头。因此,您在问题中所做的事情是正确的。

client.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
client.setRequestHeader('Content-Type', 'text/html');
Run Code Online (Sandbox Code Playgroud)

会导致您的请求有两个标头。