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 相关文章推荐
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
Dec 27 Javascript
图像替换新技术 状态域方法
Jan 28 Javascript
js 函数的副作用分析
Aug 23 Javascript
浅谈Javascript事件模拟
Jun 27 Javascript
ajax处理php返回json数据的实例代码
Jan 24 Javascript
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 Javascript
JS执行控制之节流模式实例分析
Dec 21 Javascript
在nuxt中使用路由重定向的实例
Nov 06 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
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
js资料toString 方法
2007/03/13 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
js实现无缝滚动图
2017/02/22 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
使用python生成目录树
2018/03/29 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
python爬虫简单的添加代理进行访问的实现代码
2019/04/04 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
中国梦的演讲稿
2014/01/08 职场文书
教师绩效工资方案
2014/02/01 职场文书
总账会计岗位职责
2014/03/13 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
抗洪救灾标语
2014/10/08 职场文书
MySQL的存储过程和相关函数
2022/04/26 MySQL