htmlpage1.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>使用XMLHttpRequest实现异步获取服务器时间</title>
<script>
var request = false;
//创建
function createXMLHttpRequest()
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e1)
{
try
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
request = false;
}
}
if (!request && typeof XMLHttpRequest != "undefined")
{
request = new XMLHttpRequest();
}
}
function getServerTime(format)
{
createXMLHttpRequest();
var url = "WebForm1.aspx?format=" + escape(format);
//通过GET方式,true为异步,false为同步
request.open("GET", url, true);
//回调函数
request.onreadystatechange = updateTime;
//null表示不再发送额外数据
request.send(null);
}
function updateTime()
{
if (request.readyState == 4)
{
document.getElementById("time").innerHTML = request.responseText;
}
}
</script>
</head>
<body>
<table border="0">
<tr>
<td>服务器时间</td>
<td>
<div id="time" style="height:100px;"></div>
</td>
</tr>
<tr>
<td>
<input id="Button1" type="button" value="获取完整时间" onclick="javascript: getServerTime('yyyy-mm-dd hh:mm:ss');" /><br /><br />
<input id="Button2" type="button" value="获取年月日" onclick="javascript: getServerTime('yyyy-mm-dd');" /><br /><br />
<input id="Button3" type="button" value="获取月份日期" onclick="javascript: getServerTime('mm-dd');" /><br /><br />
<input id="Button4" type="button" value="获取时分秒" onclick="javascript: getServerTime('hh:mm:ss');" /><br /><br />
</td>
</tr>
</table>
</body>
</html>
webform1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work053.WebForm1" %>
webform1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace work053
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//设置服务器不缓存
Response.Cache.SetCacheability(HttpCacheability.NoCache);
string formatType = Request["format"];
string dateFormat = string.Empty;
if (!string.IsNullOrEmpty(formatType))
{
formatType = formatType.ToLower();
switch (formatType)
{
case "yyyy-mm-dd":
dateFormat = "yyyy-MM-dd";
break;
case "yyyy-mm-dd hh:mm:ss":
dateFormat = "yyyy-MM-dd HH:mm:ss";
break;
case "mm-dd":
dateFormat = "MM-dd";
break;
case "hh:mm:ss":
dateFormat = "HH:mm:ss";
break;
default:
dateFormat = "yyyy-MM-dd HH:mm:ss";
break;
}
}
else
{
dateFormat = "yyyy-MM-dd HH:mm:ss";
}
Response.Write(DateTime.Now.ToString(dateFormat));
}
}
}