jQuery基础之Ajax(六)


原文链接: jQuery基础之Ajax(六)
  • 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状态码

`