浅谈原生ajax

本文介绍了Ajax的基础概念及其实现原理,详细讲解了如何通过XMLHttpRequest对象进行异步数据请求,并概述了GET与POST请求的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

ajax的核心就是XMLHttpRequest(xhr)。

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

1.创建对象;

var xhr=new XMLHttpRequest()

2.打开请求;

open(method,url,async)

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

关于postget区别:

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

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

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

②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();







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值