java修改ajax响应头401_ajax获取Response Headers响应头信息

**ajax type HEAD获取Response Headers信息,ajax通过Response Headers头信息获取服务端时间**

**常用场景:**基于服务器端标准时间做倒计时业务使用。

PS:常见开发人员使用本地时间做倒计时参考时间,在客户端时间不准确时会产生歧义或bug。

**示例如下:**

```javascript

//jquery引用注意,ajax done需要1.5版本之后支持

$.ajax({

url: "//lab.fity.cn/time/time.gif",

type: "HEAD"

}).done(function(data, textStatus, jqXHR) {

oncallback(jqXHR)

}).fail(function(jqXHR, textStatus, errorThrown) {

oncallback(jqXHR)

})

function oncallback(jqXHR) {

//返回全部头信息,string

var all_headers = jqXHR.getAllResponseHeaders();

//获取服务端的时间并强制格式化为东八区时间

var time_zone = 8; //默认时区设定为东八区

var date_obj = new Date(server_time);

var server_time = jqXHR && jqXHR.getResponseHeader("Date");//注意默认为GMT-0格林尼治标准时间

var offset_GMT = date_obj.getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟

var nowDate = date_obj.getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数

var date_time_now = new Date(nowDate + offset_GMT * 60 * 1000 + time_zone * 60 * 60 * 1000);

console.log('本地时间/本机时间: ' + new Date());

console.log('服务端格林尼治标准时间: ' + server_time);

console.log('服务端当前时区时间: ' + date_time_now);

var timestamp_local = parseInt(new Date().getTime()/1000); //本地时间转时间戳

var timestamp_server = parseInt(date_time_now.getTime()/1000); //服务端时间转时间戳

//资源类型

var content_type = jqXHR && jqXHR.getResponseHeader('Content-Type');

console.log('请求资源类型: ' + content_type);

}

//输出

//本地时间/本机时间: Mon Dec 02 2019 18:17:07 GMT+0800 (中国标准时间)

//服务端格林尼治标准时间: Tue, 03 Dec 2019 10:17:11 GMT

//服务端当前时区时间: Tue Dec 03 2019 18:17:11 GMT+0800 (中国标准时间)

//PS:出于测试本地时间特意调慢1天。

```

最后更新于 2019-12-03 18:26:55 并被添加「jquery ajax」标签,已有 5030 位童鞋阅读过。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值