js 使用ajax设置和获取自定义header信息的方法小结


Posted in Javascript onMarch 12, 2020

本文实例讲述了js 使用ajax设置和获取自定义header信息的方法。分享给大家供大家参考,具体如下:

1、js ajax 设置自定义header

1.1 方法一:

$.ajax({
  type: "POST",
  url: "Handler1.ashx",
  contentType: "application/x-www-form-urlencoded",
  beforeSend: function (request) {
    request.setRequestHeader("token1", "Chenxizhang");
  },
  success: function (data) {
    //your code
  }
});

1.2 方法二:

$.ajax({
  headers: {
    "testheader": "test"
  },
  type: "POST",
  url: "Handler1.ashx",
  contentType: "application/x-www-form-urlencoded",
  success: function (data) {
    //your code
  }
});

2、js ajax 获取请求返回的response的header信息

ajax请求完成,会返回xhr(XMLHTTPRequest)对象,这里面会包含返回的头信息,可以通过getResponseHeader(key)和getAllResponseHeaders()获取header信息;

$.ajax({
  type: "POST",
  url: "Handler1.ashx",
  contentType: "application/x-www-form-urlencoded",
  success: function (data) {
    //your code
  },
  complete: function (xhr, data) {
    /* 
      获取相关Http Response header
      getResponseHeader(key):获取指定头信息
      getAllResponseHeaders():获取全部可默认可获取的头信息
    */
    var date=xhr.getResponseHeader('Date');// 服务器端时间
    
    //获取服务端自定义的header信息
    var stoken = xhr.getResponseHeader('servertoken');
    
    var list = xhr.getAllResponseHeaders();
    console.log(list);
    /*
    date: Fri, 12 Jul 2019 12:41:00 GMT
    content-encoding: gzip
    server: Microsoft-IIS/10.0
    x-aspnet-version: 4.0.30319
    x-powered-by: ASP.NET
    vary: Accept-Encoding
    content-type: text/plain; charset=utf-8
    servertoken: test1
    cache-control: private
    content-length: 129
    */
    
  }
});

3、js ajax 跨域请求的情况下获取自定义的header信息

JS AJAX 跨域请求的时候是不能设置自定义的header信息的,但是是可以在response中获取到服务端自定义的header信息,前提是服务端设置了Access-Control-Expose-Headers;

下面是 ASP.NET 的服务端示例:

public void ProcessRequest(HttpContext context)
{
  context.Response.AddHeader("Access-Control-Allow-Origin", "*");
  context.Response.AddHeader("Access-Control-Allow-Headers", "*");
  context.Response.AddHeader("Access-Control-Allow-Methods", "*");
  //自定义header信息
  context.Response.AddHeader("servertoken", "test");
  context.Response.AddHeader("Access-Control-Expose-Headers", "servertoken");
  context.Response.ContentType = "text/plain";
  context.Response.Write("Hello World");
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
javascript setTimeout和setInterval 的区别
Dec 08 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
Jan 06 Javascript
cookie.js 加载顺序问题怎么才有效
Jul 31 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
jQuery解析Json实例详解
Nov 24 Javascript
vue中计算属性(computed)、methods和watched之间的区别
Jul 27 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
Nov 16 Javascript
javascript实现拖拽碰撞检测
Mar 12 #Javascript
原生js实现碰撞检测
Mar 12 #Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 #Javascript
three.js利用射线Raycaster进行碰撞检测
Mar 12 #Javascript
JS实现碰撞检测效果
Mar 12 #Javascript
使用JS实现动态时钟
Mar 12 #Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
Mar 12 #Javascript
You might like
twig模板获取全局变量的方法
2016/02/05 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
用js怎么把&字符换成"&amp:"
2006/10/19 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
python判断字符串是否纯数字的方法
2014/11/19 Python
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
简历中的自我评价怎么写
2014/01/29 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
草房子读书笔记
2015/06/29 职场文书
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers