Ajax原理

来源:互联网 发布:php 身份证号码验证 编辑:程序博客网 时间:2024/06/03 20:40

一、什么是Ajax

Asynchronous JavaScript and XML (异步javaScript和XML)

1、节省用户操作、时间、提高用户体验,减少数据请求    用javascript异步的形式去操作xml

2、传输获取数据  数据交互

//创建ajax异步对象

var xhr = new XMLHttpRequest();

//打开数据 (1.打开方式,2.地址,3.是否异步)

异步:非阻塞 前面的代码不会影响后面代码的执行

同步:阻塞 前面的代码会影响后面的代码执行

xhr.open('get','xx.txt',true);

//发送请求

xhr.send();

//等待服务器返回

//onreadystatechange:当readyState改变的时候触发

xhr.onreadystatechange = function(){

//readryState:ajax工作状态

0:(初始化)还没有条用open()方法

1:(载入)已调用send()方法,正在发送请求

2:(载入完成)send()方法完成,已收到全部响应内容

3:(解析)正在解析响应内容

4:(完成)响应内容解析完成,可以在客户端调用了

//status:服务器状态,http状态码

if(xhr.readyState === 4){

//responseText:ajax请求返回的内容存放在这个属性里,数据格式为字符串

if(xhr.status == 200){

alert(xhr..responseText);

}else{

alert('出错,err:' + xhr.status);

}

}

}

表单:数据的提交 <form></form>

属性:action:数据提交的地址,默认是当前页面

   method::数据提交方式,默认是get方式

1.get  把数据名称和数据值用=链接,如果有多个的话,那么它会把多个数据组合用&进行链接,然后把数据放到url?后面传到指定页面.

例如:1.get.php?uername=lei&age=28

由于url长度限制的原因,不要通过get方式传递过多的数据,get传递以字符串形式

2.post 理论上无限制,传递可以以二进制,文本类型

   enctype:数据提交的格式,默认application/x-www-form-urlencoded

什么情况下使用同步:当后续的代码需要用到前面代码的时候(和前面代码挂钩),或者说后面的工作需要前面代码先执行完,可以使用同步