• ajax : Asynchronous Javascript And XML (异步的JavaScriptXML

  • 创建ajax对象 var xhr = new XMLHttpRequest();

  • 准备发送请求

  • get

    • 传递的数据放在URL后面
    • 中文编码 encodeURI( '' );
    • 缓存 在数据后面加上随机数或者日期对象或者……;
  • post

    • 传递的数据放在send()里面,并且一定要规定数据格式
    • 没有缓存问题
  • form表单中:

    • action:
    • method:(默认是get)
    • get: 会在url里面以 name=value , 两个数据之间用 & 连接
    • post:
  • enctype: "application/x-www-form-urlencoded"

  • url

  • 是否异步

    • 同步(false):阻塞
    • 异步(true):非阻塞
  • 正式发送请求

    • ajax请求处理过程

案列:

	var ajx = null;

  		if(window.XMLHttpRequest){//兼容处理
  			var ajx = new XMLHttpRequest();//一般浏览器
  		}else
  		{
  			ajx = new ActiveXObject("Microsoft.XMLHTTP");//IE6+
  		}
  		
  		//准备发送请求
  		ajx.open("get","ajax.txt",true);

  		//正式发送请求
  		ajx.send();
  		
  		//处理请求
  		ajx.onreadystatechange = function(){
  			if(ajx.readState == 4){
  				if (ajx.status == 200)//200是HTTP 请求成功的状态码
  				{
  					console.log(ajx.responseText);
  				}else{
  					alert("请求出错");
  				}
  			}
  		}
  • onreadystatechange :当处理过程发生变化的时候执行下面的函数

  • readyStateajax处理过程

    • 0:请求未初始化(还没有调用open())。
    • 1:请求已经建立,但是还没有发送(还没有调用 send())。
    • 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
    • 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
    • 4:响应已完成;您可以获取并使用服务器的响应了。
  • responseText:请求服务器返回的数据存在该属性里面

  • status : http状态码

阅读全文