How to set a custom Ajax request header with jQuery 有一个很好的答案 here .
所以,如果我这样做
var headervar='testvalue';
$.ajax({
type: "POST",
url: "foo.php",
headers:{'testname':headervar},
...
});
它很好地设置了标题,例如
[Accept-Language] => en-US,en;q=0.5w-form-urlencoded;charset=UTF-8
[testname] => "testvalue"
[X-Requested-With] => XMLHttpRequest
...
但是,我还喜欢设置标题NAME。如果它是硬编码的,就像上面的例子一样,它就可以正常工作。但如果我用变量来做到这一点
var headername='testname';
var headervar='testvalue';
$.ajax({
type: "POST",
url: "foo.php",
headers:{headername:headervar},
//...
});
结果是一个 header ,其中变量名突然变成 header 名。
[Accept-Language] => en-US,en;q=0.5w-form-urlencoded;charset=UTF-8
[headername] => "testvalue"
所以问题是:是否可以将 headername 设置为 jQuery Ajax 请求中的变量?
最佳答案
您需要为此创建临时对象,并使用括号表示法从变量定义对象属性名称:
var headername='testname';
var headervar='testvar';
var headers_to_set = {};
headers_to_set[ headername ] = headervar;
$.ajax({
type: "POST",
url: "foo.php",
headers:header_to_set,
//...
});
关于jquery - 使用 jQuery Ajax 设置自定义 header NAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811705/