使用PHP,vanilla js和Ajax倒计时午夜服务器

时间:2017-06-02 14:47:48

标签: javascript php ajax

好吧我再试一次,因为上次我的帖子被标记为一个完全不同于我所要求的东西的副本所以基本上快速叠加这些对vannilla / php的问题毁了我的帖子和我得不到有效答案......

这不是一个jQuery问题......

这不是Ajax响应问题......

(当我试图找到我的问题的答案时,我甚至找到了自己的帖子作为googles第一个结果)

Sample here

基本上我在Javascript中制作午夜倒数计时器,效果很好......

我想让它倒计时到服务器的午夜,而不是本地机器,所以我做了一个Ajax调用我echo getTime();,我试图将this.responseText放在我使用的now.getTime();里面 (function () { var serverMilli = document.getElementById("serverMilli"); var serverCountdown = document.getElementById("serverCountdown"); var machineMilli = document.getElementById("machineMilli"); var machineCountdown = document.getElementById("machineCountdown"); let serverTime; var http = new XMLHttpRequest(); var url = "time.php"; http.open("POST", url, true); http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.onreadystatechange = function () { if (http.readyState === 4 && http.status === 200) { serverTime = this.responseText; serverMilli.textContent = this.responseText; } ; }; http.send(); function countDownServer() { var now = new Date(); var currentTime = serverTime - now.getTime(); var eventDate = new Date(); eventDate.setDate(now.getDate() + 1); eventDate.setHours(24); eventDate.setMinutes(0); eventDate.setSeconds(0); eventDate.setMilliseconds(0); var eventTime = eventDate.getTime(); var remainingTime = eventTime - currentTime; var sekunder = Math.floor(remainingTime / 1000); var minutter = Math.floor(sekunder / 60); var timer = Math.floor(minutter / 60); sekunder %= 60; minutter %= 60; timer %= 24; sekunder = (sekunder < 10) ? "0" + sekunder : sekunder; minutter = (minutter < 10) ? "0" + minutter : minutter; timer = (timer < 10) ? "0" + timer : timer; var testServer = timer + ":" + minutter + ":" + sekunder; serverCountdown.textContent = testServer; setTimeout(countDownServer, 1000); } countDownServer(); function countDownMachine() { var now = new Date(); var currentTime = now.getTime(); machineMilli.textContent = currentTime; var eventDate = new Date(); eventDate.setDate(now.getDate() + 1); eventDate.setHours(24); eventDate.setMinutes(0); eventDate.setSeconds(0); eventDate.setMilliseconds(0); var eventTime = eventDate.getTime(); var remainingTime = eventTime - currentTime; var sekunder = Math.floor(remainingTime / 1000); var minutter = Math.floor(sekunder / 60); var timer = Math.floor(minutter / 60); sekunder %= 60; minutter %= 60; timer %= 24; sekunder = (sekunder < 10) ? "0" + sekunder : sekunder; minutter = (minutter < 10) ? "0" + minutter : minutter; timer = (timer < 10) ? "0" + timer : timer; var testMachine = timer + ":" + minutter + ":" + sekunder; machineCountdown.textContent = testMachine; setTimeout(countDownMachine, 1000); } countDownMachine(); })(); 1}}

的Javascript / AJAX

where client_id = ' " + clientId + " '  "

1 个答案:

答案 0 :(得分:0)

所有我必须要做的是做time()* 1000因为time()返回秒而.getTime()返回毫秒...... waow不能相信我监督这个并且有很多问题,不能相信没有来自stf dident看到这个xD