Ajax

1、Ajax (Asynchronous JavaScript And XML)
  Ajax不仅仅包含JavaScript和XML两项内容,还包括CSS样式表、XMLHttpRequest数据交换对象和DOM文档对象
  JavaScript
    Ajax的主要开发语言
  DOM文档对象
    包含HTML DOM 和 XML DOM
  CSS样式表
    用户界面的样式可以通过CSS定义或修改
  XMLHttpRequest数据交换对象
    允许以异步的方式从服务端获取数据以及想服务器端发送数据
2、

 1 function createXMLHttpRequest()
 2 {
 3     if(window.ActiveXObject)
 4     {
 5         //IE
 6         return new ActiveXObject("Microsoft.XMLHTTP");
 7     }
 8      else if(window.XMLHttpRequest)//not IE
 9      {
10          return new XMLHttpRequest();
11      }
12 }
13 
14 var xhr;
15 function userExist(loginId)
16 {
17    if(loginId != "")
18    { 
19         var url = "";
20         xhr = createXMLHttpRequest();
21         xhr.onreadystatechage = readydo;
22         xhr.open("GET",url,true);
23         xhr.send(null);
24    }
25 }
26 
27 function readyDo()
28 {
29     if(xhr.readyState == 4 && xhr.status == 200)
30     {
31         var result = xhr.responseText;
32         if(result == "true")
33         {/*返回结果处理*/}
34     }
35 }

3、XMLHttpRequest状态属性

readyState 0 未初始化,即对象已经建立,尚未调用open()方法
  1 初始化,即对象已经建立,尚未调用send()方法
  2 发送数据,即send()方法已经调用,当前状态和HTTP头未知
  3 数据传送这,即已经接收部分数据,但数据不全
  4 数据接收完毕
status 200 正确返回
  404 找不到访问对象

4、XMLHttpRequest返回数据类型
  responseText:将返回的详细作为文本字符串
  responseXML:将返回消息视为XML文档,在服务器响应消息这含有XML数据时使用
  responseStream:将返回消息视为Stream

5、防止缓存
  在服务器端输出时,添加Response.Cache.SetNoStore();
  在客户端发出请求之前给XMLHttpRequest添加属性,XMLHttpRequest.setRequestHeader("If_Modified-Since","0");

6、服务器断输出XML格式数据
  

1 XmlSerializer serializer = new XmlSerializer(instanceName.GetType);
2 XmlWriter writer = new XmlTextWriter(context.Response.OutputStream,Encoding.UTF8);
3 serializer.Serialize(writer,instanceName); 

7、XMLSerializer类负责将对象序列化到XML文档和从XML文档中反序列化对象
  XMLWriter是一个抽象基类,提供只进、只写和非缓存方式生成XML流

8、使用XMLDocument对象
  创建new ActiveXObject("Microsoft.XMLDOM");
  查找节点
    getElementByTagName()方法:用来获取指定结点名的节点对象集合,参数为节点名称字符串
    selectStringNode()方法:用来获取符合条件的单个节点对象,它的参数为XPath表达式
    selectNode()方法:用来获取符合条件的节点对象集合,它的参数同样为XPath表达式
  访问节点对象的信息
    getAttribute()方法:通过它可以获取节点属性值,它的参数为节点属性名称
    text属性:通过它可以获取节点内部的文本
    childNodes属性:通过它可以获取当前节点的子节点对象集合
    firstChild属性:通过它可以获取当前节点对象的第一个子节点对象
    lastChild属性:通过它可以获取当前节点对象的最后一个子节点对象
    parentChild属性:通过它可以获取当前节点对象的父节点

原文地址:https://www.cnblogs.com/changweihua/p/2545997.html