我正在向特定服务器发出ajax请求并获得响应。我正在使用jsonp进行跨域请求。有没有办法让服务器时间到达我的请求。写php script
或只做ajax请求会更好吗?假设我提出以下请求:
$.ajax({
dataType: 'jsonp',
data: 'jsonp=date',
jsonp: 'jsonp_callback',
url: 'http://www.google.com',
success: function (data) {
}
});
如何从此请求获得服务器时间?如有任何建议请帮忙。在获得时间之后,如果我每隔一秒使用setInterval
方法更新时间,那么在特定时间更新时间之后制作相同的ajax请求将是一项代价高昂的操作或更好。我有实时数据随时间更新。
答案 0 :(得分:2)
如果服务器没有明确提供给您,您将无法获得服务器的时间 您可以读取其HTTP标头,但这不是一件好事,因为标头可能不会每次都提供此信息,或者它们的格式可能不会始终相同。
另外,我没有看到每一秒都要求它。
问一次,计算它与你的时间之间的差异,然后你就去了:你得到了时间的差异,你可以在任何你想要的地方使用它。
请记住,即使您有时间,由于网络的延迟,您获得的时间与服务器的实时时间可能会有所不同。
答案 1 :(得分:1)
第1部分的答案是,您需要在响应中输出服务器时间,以便您的javascript读取它。对于第2部分,我会等待响应加载,然后使用setTimeout
。使用setInterval
意味着您可以在第一个响应返回之前触发两次ajax调用。
答案 2 :(得分:0)
建议服务器时间是指执行呼叫的脚本还是服务器上的实际时间?
对此有何需要,例如,您是否想要计算每5秒自动拨打电话之间的时间?
如果您只是从javascript获取区域设置时间并将其与ajax中的响应进行比较就足够了?
否则javascript无法获得服务器时间,因为它具有'客户端'性质。