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 相关文章推荐
node+express+ejs制作简单页面上手指南
Nov 26 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
使用InstantClick.js让页面提前加载200ms
Sep 12 Javascript
jQuery读取本地的json文件(实例讲解)
Oct 31 jQuery
js操作table中tr的顺序实现上移下移一行的效果
Nov 22 Javascript
如何自动化部署项目?折腾服务器之旅~
Apr 16 Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 Javascript
在vant中使用时间选择器和popup弹出层的操作
Nov 04 Javascript
如何理解Vue前后端数据交互与显示
May 10 Vue.js
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
把PHP安装为Apache DSO
2006/10/09 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
destoon常用的安全设置概述
2014/06/21 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Python基础语法(Python基础知识点)
2016/02/28 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
施工材料员岗位职责
2014/02/12 职场文书
企业法人授权委托书
2014/09/25 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
小学班主任个人总结
2015/03/03 职场文书
教师病假条范文
2015/08/17 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis
JAVA API 实用类 String详解
2021/10/05 Java/Android