浅析ajax

首先我们得明白ajax只是一种技术,是为了解决用户与网页互动之间的问题,举个例子来说,我们所使用的新浪微博,当我们写出一条评论时,点击提交,我们立马就能看到评论,但是整个网页并没有刷新,而只是局部刷新。还有另外一个例子就是我们所使用的搜索引擎,当我们输入“周...",搜索引擎会自动识别出”周杰伦“...等等相关字段;

其次这之间涉及到的无非就是后台和服务器之间的数据交换,而起到桥梁作用的就是XMLHttpRequest 对象,这个对象提供了open()和send()方法

方法描述
open(method,url,async)

规定请求的类型、URL 以及是否异步处理请求。

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)
send(string)

将请求发送到服务器。

  • string:仅用于 POST 请求
简单来说,open()方法就是一个炸弹,炸弹里面的存储了请求的三个部分,而send()方法就是飞机,负责将炸弹发射出去。这里的请求类型GET或POST的不同请参见我的下一篇博客。重点说说这里的async的设置,XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true。

经过上面的几步,我们的请求已经被发送出去,那么接下来就是服务器的响应了,我后台当然需要知道服务器到底响没响应,如何获取响应状态就需要使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

属性描述
responseText获得字符串形式的响应数据。(非XML响应)
responseXML获得 XML 形式的响应数据。 (XML响应)

最后得到响应或者没有得到响应,我们后台都需要执行一些基于响应的任务。这里涉及到XMLHttpRequest 对象的三个重要的属性:

onreadystatechange存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪
status

200: "OK"

404: 未找到页面









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值