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 相关文章推荐
替代window.event.srcElement效果的可兼容性的函数
Dec 18 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
Jun 17 Javascript
ext中store.load跟store.reload的区别示例介绍
Jun 17 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
May 10 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
Dec 16 Javascript
Bootstrap进度条学习使用
Feb 09 Javascript
JS路由跳转的简单实现代码
Sep 21 Javascript
微信小程序如何获取openid及用户信息
Jan 26 Javascript
原生js实现淘宝放大镜效果
Oct 28 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
Mar 09 Javascript
JS面试题中深拷贝的实现讲解
May 07 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 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
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
浅谈Node Inspector 代理实现
2017/10/19 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
Python三级目录展示的实现方法
2016/09/28 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
幼儿园优秀教师事迹
2014/02/13 职场文书
体育教学随笔感言
2014/02/24 职场文书
后勤主管岗位职责
2014/03/01 职场文书
节能标语大全
2014/06/21 职场文书
会计工作岗位职责
2015/02/03 职场文书
停电调休通知
2015/04/16 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python