jquery - 使用 jQuery Ajax 设置自定义 header NAME

标签 jquery ajax

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/

相关文章:

Jquery - Fancybox - 后台页面转换问题

javascript - 如何在 Meteor 应用程序中获取上传文件的内容?

php - 将 html 页面存储到 php 变量中

jquery - 如何调整下拉菜单以显示在内容之上?

javascript - 单选按钮组包含复选框组

javascript - 如何在其中包含特定元素的第一个元素之前或之后插入?

javascript - jQuery ajax,附有var的数据字段的名称

ajax - Spring Security + Keycloak - 如何结合 "Access Token Lifespan"处理Ajax请求

javascript - 如何使加载动画 gif 在 getjson 调用完成后不可见并显示 jw 播放器?

Jquery 可拖动 + 可调整大小的元素越界