Ajax的简单使用与写法

来源:互联网 发布:kuka仿真软件 编辑:程序博客网 时间:2024/06/14 17:29

使用Ajax:
基础:
请求并显示静态TXT文件,且运用过程中最好不要出现中文。
字符集编码。
缓存:阻止缓存。
动态数据:
请求JS(或Json)文件。
eval()的使用。
DOM创建元素。
局部刷新:请求并显示部分网页文件。

调用时格式为:

ajax(‘aaa.txt?t=’+newDate().getTime(),fn,fn)

其中 ?之后为get数据, 对其完全没有影响。newDate().getTime()是时刻变化的,每一次都不一样。

ajax读取的都是字符串,需要通过eval()进行转换。

表单的提交方式(method):
get(通过网址):容量小,安全性差,有缓存,用于获取数据(浏览帖子)。
post(不通过网址):容量大(2g),安全性相对好一点,无缓存,上传数据(注册)。

Ajax的编写步骤:
1.创建Ajax对象:
非IE6:var obj=new XMLHttpRequest();创建Ajax对象。
IE6:var obj=new ActiveXObject(“Microsoft.XMLHTTP”);

alert(a):没有定义的变量——报错;
alert(window.a):没有定义的属性——undefined;

所以在处理兼容的时候应该如下写:
if(window.XMLHttpRequest){ }else{ };

2.链接服务器、
open(方法,文件名,异步传输(true为异步))
oAjax.open(‘GET(POST)’,’a.txt’,true);
在js中,同步是,一件一件事情的来,而异步是多个事情可以同时发生。

3.发送请求
oAjax.send( );

4.接受返回值

//先判断读取,在判断成功与否。oAjax.onreadystatechange(注意全是小写)=function(){    oAjax.readyState;//浏览器和服务器进行到哪一步了。    if (oAjax.readyState==4)//读取完成,但是并不代表成功。    {        if(oAjax.status==200)//成功    }}

readyState的值所对应的状态:
0——(未初始化)还没有调用open()方法。
1——(载入)已调用send()方法,正在发送请求。
2——(载入完成)send()方法完成,已收到全部响应内容。
3——(解析)正在解析响应内容。
4——(全部完成)响应内容解析完成,可在客户端调用。