JQuery获取服务器时间的问题


使用JQuery的ajax()获取服务器时间。代码如下:


 var originalDate = new Date($.ajax({async: false}).getResponseHeader("Date"));
var date = originalDate + (3600000 * 8);
console.log(date);

这样能出来正确的时间,但是有警告说是不推荐使用同步XMLHttpRequest:
图片描述

于是去掉 async:false 改成异步,但是为什么获取的时间就错了呢(如下图)?
图片描述

要怎么才能正确获取服务器时间而且没警告?
ps:用原生的ajax也一样。

jquery jquery-ajax

dafanxu 9 years, 4 months ago

因为是异步的, 所以你不可能在 $.ajax 之后就用 getResponseHeader("Date") 得到服务器响应过来的时间.


 $.ajax({
    success:function(result, status, xhr){
        var originalDate = new Date(xhr.getResponseHeader("Date"));
        var date = originalDate + (3600000 * 8);
        console.log(date);
    }
});

clipboard.png

真人控①号 answered 9 years, 4 months ago

Your Answer