Ajax

来源:互联网 发布:mysql 修改字段长度 编辑:程序博客网 时间:2024/06/09 21:01
Ajax  --Asynchronous Javascript And XML - 异步的js和xml
作用:与服务端交互 读取文件;
实现所使用到的类:
XMLHttpRequest:不兼容IE5  IE6  
ActiveXObject:IE5  IE6
客户端服务端通过HTTP协议进行通信
1) GET:传输的参数直接拼接到URL中,与HTML之间传值一样需要使用?来隔开传递的参数,如果有多个参数,使用&隔开每一个参数;
特点:
   ① GET参数放在URL里面->不能传比较大的参数(URL长度大小有限制)
        如:www.ucai.cn/login?username=小明&password=111
  ② 参数是暴露在URL里面的
  ③ GET传输速度快一些->只要不涉及到传大文件、密码等比较重要的都使用GET方式;
2) POST:传输的参数使放在body体重,传输的大小没有限制(只要服务端的磁盘空间够大);
3) DELETE
4) PUT
JS中以GET方式发送一个请求
varreq=new XMLHttpRequest();
req.open("GET","xxx");
req.send();
req.onreadystatechange=function () {
    alert(this.readyState);
};
JS中接收服务端发送到客户端里面的内容
XMLHttpRequest -> response回应
同步:一行行代码执行,遇到比较耗时的任务,会等耗时任务执行完毕后继续执行(有耗时的任务程序会卡主,直到这个任务执行完成);
XMLHttpRequest默认是异步的
异步:
XMLHttpRequest -> open(HTTP的请求方法,请求的地址,同步还是异步)
Ajax
GET:
XMLHttpRequest
Open(http的方法,URL,同步异步的设置);
Onload:
onreadyStateChange:
0 UNSENT未发送
1 OPENED
2 HEADERS_RECEIVED
3 LOADING
4 DONE
Send();//发送请求到服务端
同步异步:
同步:所有的都一视同仁 必须执行完成之后 才去继续往下执行 (如果耗时任务 会让界面卡死)
异步:有空闲的时候 加载异步任务
GET:传参拼接到url api与参数之见使用问号隔开 每个参数之间使用&隔开
POST
1) 如果需要传参数,参数是放到send()中传递的,参数的格式key=value&key2=value2
如:send(‘key=value&key2=value2’);
2) 设置请求头内容的类型Content-Typeapplication/x-www-form-urlencoded
3) ★★★★★在设置请求头之前,必须先调用open方法
原创粉丝点击