JS ialah skrip yang dijalankan pada klien, bukan pada pelayan Secara umumnya, apabila mendapat masa melalui JS, masa yang diperoleh adalah masa pada komputer tempatan pelawat daripada berubah kerana pelawat Bergantung pada komputer, kita perlu mendapatkan masa pelayan terus melalui JS.
Berikut ialah kod js lengkap untuk mendapatkan masa pelayan Ia adalah contoh lengkap menggunakan javascript untuk mendapatkan masa pelayan secara dinamik.
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>AJAX获取服务器时间</title> <script type="text/javascript"> /* * ajax 函数,处理 ajax 请求 * @param function callback 回调函数 * @因为要和服务器交互,所以必须在服务器环境运行,不能在硬盘上直接打开 */ function ajax(callback){ if(typeof callback!='function') return; var ajaxObject; try{ ajaxObject=new XMLHttpRequest(); }catch(e){ try{ ajaxObject=new ActiveXObject('Microsoft.XMLHTTP'); }catch(e){ } } if(!ajaxObject) return; if(ajaxObject.overrideMimeType){ ajaxObject.overrideMimeType('text/html'); } //location.href可以换成其他url,但必须是同一个站点的链接,并且文件存在 ajaxObject.open('get',location.href); ajaxObject.send(null); ajaxObject.onreadystatechange=function(){ if(ajaxObject.readyState==4){ if(ajaxObject.status==200){ callback(ajaxObject); } } }; } /* * 获取时间并动态刷新 */ function getTime(){ ajax( function(ao){ //只需要AJAX一次,将服务器时间获取后以毫米为单位保存到一个变量中 _timestamp=Date.parse(ao.getResponseHeader('Date')); _timestamp=_timestamp.toString().match(/^\d$/)?_timestamp:new Date().getTime(); //设置定时器每过一秒动态刷新一次时间 setInterval( function(){ //这里可以自定义时间显示格式 document.getElementById('_timer').innerHTML=new Date(_timestamp).toLocaleString(); _timestamp+=1000; }, 1000 ); } ); } window.onload=getTime; </script> </head> <body> <div id="_timer">正在获取服务器时间……</div> </body> </html>
Analisis Fikirkan:
Konsep masa sebelah pelayan sangat kabur. Kerana bahagian pelayan mungkin tidak terdiri daripada satu mesin selepas semua. Dalam kes paling mudah, ia juga dibahagikan kepada pelayan web dan pelayan db. Yang mana satu yang anda cakapkan
Jika ia adalah pelayan web.
Kemudian hanya gunakan new Date() terus dalam java atau .net
Jangan tambahkan Tarikh baharu dalam
Jika ia adalah pelayan db.
Perlu menyambung ke pangkalan data dan mendapatkannya melalui sql. Sebagai contoh, sysdate pilih Oracle daripada dual.
Contoh:
Jika js ingin mendapatkan masa sebelah pelayan sedemikian, terdapat banyak kaedah. Ideanya lebih kurang sama.
1.
Tulis aliran pulangan Servlet ke dalam fail js supaya var nowDate = masa bahagian pelayan
3.ajax, saya tidak akan bercakap tentang ini, terdapat banyak daripada mereka di Internet
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.