如何获取服务器时间并每秒更新


How to get server time and update every second?

我正在向特定服务器发出ajax请求并获得响应。我正在做跨域请求,所以使用 jsonp。有没有办法获取我发出请求的服务器时间。写php script更好还是只做 ajax 请求会更好。假设如果我提出以下请求:

$.ajax({
        dataType: 'jsonp',
        data: 'jsonp=date',
        jsonp: 'jsonp_callback',                
        url: 'http://www.google.com',   
        success: function (data) {                  
        }
});

如何从此请求中获取服务器时间?如果有任何建议,请提供帮助。同样在获得时间后,如果我使用setInterval方法每秒更新一次时间,那么在特定时间更新时间后发出相同的 ajax 请求将是一项昂贵的操作或更好的操作。我有实时数据可以随时间更新。

如果服务器没有明确提供给您,则无法获取服务器的时间。
您可以读取其HTTP标头,但这不是一件好事,因为标头可能不会每次都提供此信息,或者它们的格式可能并不总是相同的。

另外,我不明白每一秒都问它有什么意义。
问它一次,计算它的时间和你的时间之间的差异,然后你去:你得到了时间的差异,你可以在任何地方使用它。

请记住,即使您有时间,由于网络的延迟,您获得的时间与服务器的实时时间之间也可能存在差异。

第 1 部分的答案是,您需要在响应中输出服务器时间,以便您的 javascript 读取它。对于第 2 部分,我将等待响应加载,然后使用 setTimeout .使用 setInterval 意味着您可能会在第一个响应返回之前触发 ajax 调用两次。

当您建议服务器时间时,您是指正在执行调用的脚本还是服务器上的实际时间?

这有什么需要,例如,您是否试图计算出呼叫之间的时间以每 5 秒自动呼叫一次?

如果您只是简单地从javascript中获取语言环境时间并将其与在ajax中获得响应的时间进行比较就足够了?

否则,javascript将无法获得服务器时间,因为它的"客户端"性质。