Ajax类库需要注意的问题
构建Ajax类库时,注意四步就可以了:
1:创建Ajax 对象
2:链接服务器
3:发送请求
4:返回响应
下面是我自己写的一个Ajax类库:
function ajax(url,fnn,fai)
{
//1:创建ajax对象
var oAjax=null;
if(window.XMLHttpRequest)----这里由于没有XMLHttpRequest这个东西,所以会报错,但加上window后,相当于window的一个属性。
{
oAjax=new XMLHttpRequest();
}
else
{
oAjax=new ActiveXObject("Microsoft.XMLHTTP");
}
//2:链接服务器open(方法,URL,是否异步)
oAjax.open('GET',url,true);
//3:发送请求
oAjax.send();
//4:接受返回
oAjax.onreadystatechange=function()
{
if(oAjax.readyState==4)
{
if(oAjax.status==200)
{
fnn(oAjax.responseText);
}
else
{
if(fai)
{
fai();
}
}
}
};
需要注意一下浏览器的问题:
IE6以上:
XMLHttpRequest() 来创建Ajax对象
IE6:
ActiveXObject("Microsoft.XMLHTTP")来创建对象
2:Ajax请求状态控制有以下集中情况:
onreadystatechange事件
–readyState属性:请求状态
»0 (未初始化)还没有调用open()方法
»1 (载入)已调用send()方法,正在发送请求
»2 (载入完成)send()方法完成,已收到全部响应内容
»3 (解析)正在解析响应内容
»4 (完成)响应内容解析完成,可以在客户端调用了
–status属性:请求结果
–responseText:即返回URL中的结果。
3:Ajax的核心是XMLHttpRequest()对象,即XHR。
XHR作用:无须刷新页面即可从服务器取得数据,不一定是XML数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?