首页 > 网站 > WEB开发 > 正文

浅谈原生ajax

2024-04-27 15:03:19
字体:
来源:转载
供稿:网友

Ajax主要解决了异步操作,通俗一点来讲就是在不刷新的页面的前提下,更新页面的数据。

ajax的核心就是xmlHttPRequest(xhr)。

使用原生ajax主要分为4个步骤:

1.创建对象;

var xhr=new xmlhttpRequest()

2.打开请求;

open(method,url,async)

①method是发送请求的方式一般常用的有get,post

关于post和get区别:

(1)Get使用URL传参。而POST将数据放在BODY中。

(2)GET的URL会有长度上的限制(浏览器本身支持?服务器加限制截掉url),则POST的数据则可以非常大。

(3)POST比GET安全,因为数据在地址栏上不可见。

②url请求的地址。

③async是否异步取值有true/false.一般取值true;

使用举例

xhr.open("get","exmple.txt",true)

3.发送请求;

xhr.send();

4.接受响应;

1)可以通过检查xhr对象的readyState的值,来判断对应的请求处于什么状态

•0: 未初始化。尚未调用open()方法•1: 启动。已经调用open()方法,尚未调用send()方法•2: 发送。已经调用send()方法,尚未收到响应。•3: 接收。已经接收到部分数据。•4: 完成。已经接收到全部响应数据。•当readystate值从一个值变为另一个值时,都会触发readystatechange事件。我们可以通过绑定onreadystatechange事件,来监听readystate的值是否为4

2)查看xhr的status值,查看服务器的响应结果

•0  本地请求,服务器成功返回了页面•200  OK  服务器成功返回了数据或者页面•400Bad Request 语法错误导致服务器不识别•401Unauthorized 请求需要用户认证•404 Not found 指定的URL在服务器上找不到•500Internal Server Error 服务器遇到意外错误,无法完成请求•503ServiceUnavailable 由于服务器过载或维护导致无法完成请求

3)如果1、2返回结果成功,则可以通过xhr的responseText,获得响应的内容 

function () {

 

  }

  }

}

xhr.open("get", "example.json", true);

xhr.send();


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表