同步传输 正 多件事情一起做 | 程 不 事情一件一件地做
常: | 序 是:
异步传输 人 事情一件一件地做 | 员 人 多件事情可以一起做
附加(XML)
★XML作用:用来存储数据。
★XML特点(注意事项):①XML文档有且只有一个根节点
②XML是严格区分大小写的
③XML标签成对出现
Ajax代码一分为二
Ⅰ、服务端代码(用的一般处理程序)
第一步:获取传来的数据
第二步:处理数据生成结果
第三步:Response写入XML字符串
Ⅱ、客户端代码(实现无刷新,获取数据)
①发送请求之前的代码--主调函数
②发送请求之后的代码--回调函数
第一步:判断要给谁添加事件,添加什么事件
第二步:判断是否需要传参,需要传参,就获取值(在事件之内实现获取值的代码)
第三步:调用ajax函数,,详解ajax函数步骤(JQuery实现):
$.ajax({
url:"要调用服务器端的路径",----------注意:用逗号隔开
data:{名(自拟):"值"},--------------名(自拟),在一般处理程序中通过Request["名"]来获取传来的值,若要传多个参数,用逗号隔开。
type:"POST",--------------大写
dataType:"XML",----------------大写
success:function (data){--------------千万不要忘了加参数,data代表服务器返回来的数据,这里用的是XML
//解析XML:解析服务端返回过来的XML文件--------注解①
//显示HTML:把解析出来的XML,显示数来---------注解②
}
});
注解①:如果在XML文件中要获取的内容是标签的纯文本形式如:<book>水浒传</book><price>1.0</price>,所用的解析XML文件的方法:find("标签名").text-------------JQuery获取标签文本的方法
例: var rel = $(data).find("标签名").text;
如果在XML文件中要获取的信息写入了标签的属性中如:<book name="水浒传" value="1.0" />,所用的解析XML文件的方法:attr("属性名")--------------JQuery获取标签属性的方法
例:var rel =$(data).find("标签名").attr("value");
注解②:显示HTML
调用的JQuery的html()方法
append() 追加子节点
实战例子
Ⅰ用户注册--html代码
用户注册界面
服务端代码:
public class login : IHttpHandler { private MyDBDataContext _Context = new MyDBDataContext(); public void ProcessRequest (HttpContext context) { //获取传过来的值 string s = context.Request["u"].ToString(); bool isOK; var query = this._Context.Login.Where(r => r.UserName == s); if (query.Count() == 0) { isOK = true; } else { isOK = false; } string xmll = " "; xmll += "" + isOK + " "; context.Response.Write(xmll); context.Response.End(); }
Ⅱ一边录入信息一边获取信息
html代码:
服务端代码:
public class Message : IHttpHandler { private MyDBDataContext _Context = new MyDBDataContext(); public void ProcessRequest (HttpContext context) { string uid = context.Request["uid"].ToString();//获取请求的值 Login data=new Login(); //根据请求的值查询数据库 var query = this._Context.Login.Where(r => r.UserName == uid); if (query.Count()>0) { data = query.First(); } //写入xml文件 string s = ""; //回复 context.Response.Write(s); } " + data.Name + " " + data.Password + " " + data.Account + "