Ajax

Ajax 是什么? 如何创建一个Ajax?

Ajax并不算是一种新的技术,全称是asychronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持使用ajax原生方式发送请求,主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果.


基本步骤:
var xhr =null;//创建对象
if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
}else{
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
     xhr.open(“方式”,”地址”,”标志位”);//初始化请求
     xhr.setRequestHeader(“”,””);//设置http头信息
     xhr.onreadystatechange =function(){}//指定回调函数
     xhr.send();//发送请求


js框架(jQuery/EXTJS等)提供的ajax  API对原生的ajax进行了封装,熟悉了基础理论,再学习别的框架就会得心应手,好多都是换汤不换药的内容

 

同步和异步的区别?

同步:阻塞的

-张三叫李四去吃饭,李四一直忙得不停,张三一直等着,直到李四忙完两个人一块去吃饭

=浏览器向服务器请求数据,服务器比较忙,浏览器一直等着(页面白屏),直到服务器返回数据,浏览器才能显示页面

异步:非阻塞的

-张三叫李四去吃饭,李四在忙,张三说了一声然后自己就去吃饭了,李四忙完后自己去吃

=浏览器向服务器请求数据,服务器比较忙,浏览器可以自如的干原来的事情(显示页面),服务器返回数据的时候通知浏览器一声,浏览器把返回的数据再渲染到页面,局部更新

 

 

简述ajax 的过程。

1. 创建XMLHttpRequest对象,也就是创建一个异步调用对象

2. 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息

3. 设置响应HTTP请求状态变化的函数

4. 发送HTTP请求

5. 获取异步调用返回的数据

6. 使用JavaScript和DOM实现局部刷新

 

阐述一下异步加载。

 

1. 异步加载的方案: 动态插入 script 标签

 

2. 通过 ajax 去获取 js 代码,然后通过 eval 执行

 

3. script 标签上添加 defer 或者 async 属性

 

4. 创建并插入 iframe,让它异步执行 js

 

GETPOST的区别,何时使用POST

 

GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符,有的浏览器是8000个字符

 

POST:一般用于修改服务器上的资源,对所发送的信息没有限制

 

在以下情况中,请使用 POST 请求:

 

1. 无法使用缓存文件(更新服务器上的文件或数据库)

 

2. 向服务器发送大量数据(POST 没有数据量限制)

 

3. 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

 

 Ajax的最大的特点是什么。

    Ajax可以实现异步通信效果,实现页面局部刷新,带来更好的用户体验;按需获取数据,节约带宽资源;

 

 

ajax的缺点

 

1、ajax不支持浏览器back按钮。

 

 2、安全问题 AJAX暴露了与服务器交互的细节。

 

 3、对搜索引擎的支持比较弱。

 

 4、破坏了程序的异常机制。

 

posted @ 2016-10-25 18:35  时念唯梦  阅读(162)  评论(0编辑  收藏  举报