我有一个脚本和jQuery Ajax调用,如:
<script type="text/javascript">
$(document).ready(function() {
var timer;
$.ajax({
type: 'POST',
url: 'closettime.php',
success: function( res ){
var json = JSON.parse(res);
timer = json["datecounter"];
alert(timer);
}
});
var date = new Date(timer);
var now = new Date();
var diff = date.getTime()/1000 - now.getTime()/1000;
var clock = $('.clock').FlipClock(diff, {
clockFace: 'HourlyCounter',
countdown: true,
showSeconds: true
});
});
</script>
现在我的问题是我无法在ajax成功回调中将var date = new Date(timer);
中的时间值分配为
timer = json["datecounter"];
你可以告诉我如何解决这个问题吗?感谢
答案 0 :(得分:0)
问题很可能是在完成分配日期变量的代码之后请求才完成,因此存在未分配计时器的错觉。将所有依赖于timer变量的代码移动到回调中,这应该有效,或者至少解决其中一个问题。
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: 'POST',
url: 'closettime.php',
success: function( res ){
var json = JSON.parse(res);
var timer = json["datecounter"];
alert(timer);
var date = new Date(timer);
var now = new Date();
var diff = date.getTime()/1000 - now.getTime()/1000;
var clock = $('.clock').FlipClock(diff, {
clockFace: 'HourlyCounter',
countdown: true,
showSeconds: true
});
}
});
});
</script>