serverSync:serverTime函数从服务器返回值,但我检查了服务器和客户端时间是否相同。当我调用服务器与服务器同步时,它不会显示倒计时。帮我 ?
$(function() {
var shortly = new Date();
var newTime = new Date('April 9, 2010 20:38:10');
//for loop divid
///
$('#defaultCountdown').countdown({
until: shortly, onExpiry: liftOff, onTick: watchCountdown, serverSync: serverTime
});
$('#div1').countdown({ until: newTime });
});
function serverTime() {
var time = null;
$.ajax({
type: "POST",
//Page Name (in which the method should be called) and method name
url: "Default.aspx/GetTime",
// If you want to pass parameter or data to server side function you can try line
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{}",
async: false,
//else If you don't want to pass any value to server side function leave the data to blank line below
//data: "{}",
success: function(msg) {
//Got the response from server and render to the client
time = new Date(msg.d);
alert(time);
},
error: function(msg) {
time = new Date();
alert('1');
}
});
shortly = time;
return time;
}
[WebMethod]
public static String GetTime()
{
DateTime dt = new DateTime();
dt = Convert.ToDateTime("April 9, 2010 22:38:10");
return dt.ToString("dddd, dd MMMM yyyy HH:mm:ss");
}
我意识到这已经快一年了,但如果有人遇到类似的问题,我想到了一个可以避免 AJAX 复杂性的解决方案。由于我们使用服务器上的日期,因此我们不必担心客户端上的时间,因此我们不必调整时区或客户端时钟关闭。它应该与网络延迟一样准确。
<script type="text/javascript">
jQuery(document).ready(
function() {
var eventTime = new Date('March 20, 2011 08:00:00');
jQuery('#div_countdown').countdown({ until: eventTime,
serverSync: function() { return new Date('<%=DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss")%>'); }
});
}
);
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)