谈到ajax异步刷新技术,我之前感觉很高深,今天看了一下,大体上有一个了解,AJAX最大的应用就是我们要理解XMLHttpRequest这个对象。XMLHttpRequest可以提供不重新加载页面的情况下更新网页,在页面加载后在客户端向服务器请数 据, 在 页面加载后在服务器端接受数据,在后台向客户端发送数据。
然后我贴出一些原始的ajax的例子,这样更方便了解ajax原理,解开他神奇的面纱,当然现在使用jQuery的ajax封装方法也非常方便。
例1:get请求
get.ashx:
<%@ WebHandler Language=C# Class=_01_get %>
using System;
using System.Web;
public class _01_get : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = text/plain;
//int m = 0;
//int n = 5 / m;
//System.Threading.Thread.Sleep(3000);
context.Response.Write(DateTime.Now.ToString());
}
public bool IsReusable {
get {
return false;
}
}
}
get.htm:
例2:post请求提交保单
post.ashx:
<%@ WebHandler Language=C# Class=_02_post %>
using System;
using System.Web;
public class _02_post : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = text/plain;
string name = context.Request.Form[n];
string pwd = context.Request.Form[p];
if (name == admin && pwd == admin)
{
context.Response.Write(1);
}
else
{
context.Response.Write(0);
}
}
public bool IsReusable {
get {
return false;
}
}
}
post.htm:
例3:省市选择效果
pro.ashx:
<%@ WebHandler Language=C# Class=_06_pro %>
using System;
using System.Web;
using System.Collections.Generic;
using System.Text;
public class _06_pro : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = text/plain;
string s = context.Request.QueryString[pid];
int pid;
if (int.TryParse(s, out pid))
{
//json形式的字符串
string json = GetDataByPId(pid);
context.Response.Write(json);
}
else
{
context.Response.Write([]);
}
}
private string GetDataByPId(int pid)
{
List
list = GetAllDatas();
List
wantedList = new List
(); foreach (Data data in list) { if (da