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 相关文章推荐
Javascript 鼠标移动上去 滑块跟随效果代码分享
Nov 23 Javascript
js闭包实例汇总
Nov 09 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
jQuery中cookie插件用法实例分析
Dec 04 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
前端性能优化及技巧
May 06 Javascript
JavaScript轻松创建级联函数的方法示例
Feb 10 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
Oct 24 jQuery
使用javascript做在线算法编程
May 25 Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 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在windows下的安装与配置图解(最新版)
2008/11/30 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php中执行系统命令的方法
2015/03/21 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
jQuery 选择器理解
2010/03/16 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
js实现每日签到功能
2018/11/29 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
Python中有几个关键字
2020/06/04 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
美国现代家具购物网站:LexMod
2019/01/09 全球购物
银行服务感言
2014/03/01 职场文书
高三毕业寄语
2014/04/10 职场文书
《风筝》教学反思
2014/04/10 职场文书
期中考试反思800字
2014/05/01 职场文书
城南旧事观后感
2015/06/11 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP