小案例 - 获取服务器时间

1. GetTime.html

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title></title>
 6     <script type="text/javascript">
 7         window.onload = function () {
 8             document.getElementById("btnGetTime").onclick = function () {
 9                 //向服务器请求时间
10                 //1. 创建异步对象(小浏览器)
11                 var xhr = new XMLHttpRequest();
12                 //2. 设置参数(请求方式,请求页面,是否异步)
13                 xhr.open("get", "GetTime.ashx?name=huoaa", true);
14                 //3. 让get请求不从浏览器获取缓存数据
15                 xhr.setRequestHeader("If-Modified-Since", "0");
16                 //4. 设置回掉函数
17                 xhr.onreadystatechange = function () {
18                     if (xhr.readyState == 4 && xhr.status == 200) {
19                         var res = xhr.responseText;
20                         alert(res);
21                     }
22                 };
23                 //4. 发送异步请求
24                 xhr.send(null);
25             };
26             document.getElementById("btnPostTime").onclick = function () {
27                 //向服务器请求时间
28                 //1. 创建异步对象(小浏览器)
29                 var xhr = new XMLHttpRequest();
30                 //2. 设置参数(请求方式,请求页面,是否异步)
31                 xhr.open("post", "GetTime.ashx", true);
32                 //3. 针对post请求不会产生浏览器端缓存
33                 //xhr.setRequestHeader("If-Modified-Since", "0");
34                 //设置表单传送数据的默认编码方式
35                 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
36                 //4. 设置回掉函数
37                 xhr.onreadystatechange = function () {
38                     if (xhr.readyState == 4 && xhr.status == 200) {
39                         var res = xhr.responseText;
40                         alert(res);
41                     }
42                 };
43                 //4. 发送异步请求
44                 //post传参方式
45                 xhr.send("name=huoaa");
46             };
47         };
48     </script>
49 </head>
50 <body>
51     <input type="button" value="get获取服务器时间" id="btnGetTime" />
52     <input type="button" value="post获取服务器时间" id="btnPostTime" />
53 </body>
54 </html>

2. GetTime.ashx

 1 <%@ WebHandler Language="C#" Class="Get请求" %>
 2
 3 using System;
 4 using System.Web;
 5
 6 public class Get请求 : IHttpHandler {
 7
 8     public void ProcessRequest (HttpContext context) {
 9         context.Response.ContentType = "text/plain";
10         string name = context.Request.Params["name"];
11         context.Response.Write(DateTime.Now.ToString()+",name="+name);
12     }
13
14     public bool IsReusable {
15         get {
16             return false;
17         }
18     }
19
20 }

时间: 2024-10-27 05:24:02

小案例 - 获取服务器时间的相关文章

Ubuntu利用TCP协议来获取服务器时间

Linux利用TCP协议来获取服务器时间 这里使用Unix网络编程里面的一个小程序,该客户端建立一个到服务器的TCP连接,然后读取由服务器以直观可读格式简单地送回的当前时间和日期. #include "unp.h" int main(int argc, char **argv) { int sockfd, n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr; if (argc != 2) err_quit("u

Unity 获取服务器时间 HTTP请求方式

在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器时间,不能实时获取服务器时间这样高频率的 2. 使用socket可以实时获取服务器时间 3. 使用C#自带API获取sql server 标准北京时间(=.=还没有找到这个API) 第HTTP方式: 代码: using UnityEngine; using System.Collections; u

通过AFNetworking获取服务器时间

在一些场合,我们需要获取服务器的时间,计算该时间与客户端本地时间的差值,以利于时间同步.有人说,这个不是很简单吗,让后台的TX给你一个获取服务器时间的接口就行了. 其实这个还是比较麻烦的,更简单的是利用HTTP Header来获取服务器时间--每个HTTP header的Date参数就是这个时间.在iOS中我们通常用AFNetworking发请求,那么用AFNetworking怎么得到HTTP header信息呢? 很简单,用 [[operation response] allHeaderFie

jsp页面获取服务器时间

Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day= c.get(Calendar.DAY);   这三行加在<%   %>里面 调用时用<%= year  %><%= month%><%= day%> jsp页面获取服务器时间

动态获取服务器时间

最近在做的这个项目要获取到后台的数据,然后使用html5绘制曲线,以前都是在自己电脑上使用没有发现有什么不正常的地方,昨天连接同事的服务器发现有段数据怎么都对不上了,开始我还以为程序有问题呢,找了半天结构发现是我的电脑时间和同事的电脑时间对不上导致的.既然发现了问题下面就是找出解决办法了. 实际上最好的解决办法是固定客户端的时间,不然修改,但你会发现这个不可能的.所以只有找其他方式的.再有就是获取服务器时间然后同步到客户端了.实际上这个游戏三种方式可行. 1.既然是动态获取就每秒获取一次,这样能

09 获取服务器时间

获取服务器时间:var now = new Date($.ajax({async: false}).getResponseHeader("Date")); 2.new Date()用法:获取年:var currentYear = now.getFullYear();获取月:var currentMonth = now.getMonth();获取日:var currentDay = now.getDate();获取小时:var currentHours = now.getHours();

Javascript获取服务器时间

Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的请求头里面的时间戳得到当前服务器时间! 原理就是这么简单:通过ajax向服务器发送请求,当服务器收到请求后即可读取请求头的时间戳了,不管请求

获取服务器时间ajax

$.ajax({ type:"OPTIONS", url:"/", complete:function(x){ // alert(x.getResponseHeader("Date")) var time = x.getResponseHeader("Date"); var curDate = new Date(time); var year = curDate.getFullYear(); var month = curDa

获取服务器时间

小结: javascript可以通过new Date();来获取本地时间,但这个时间是本地的 通过ajax可以获取到服务端时间 ajax是不用返回视图的(所以就返回NONE就可以了),因为是在当前的页面,ajax直接返回数据就可以了