
Ajax
创建XMLHttpRequest对象 由于Ajax不是W3C标准,所以对于不同浏览器的创建方式存在差异。 发送Ajax请求 使用 处理服务器响应 通过
发布日期:2021-05-08 20:21:59
浏览次数:20
分类:精选文章
本文共 1640 字,大约阅读时间需要 5 分钟。
Ajax技术简介
Ajax(Asynchronous JavaScript And XML)是一种用于在不刷新页面的情况下,实现页面局部更新的技术。它与Servlet进行交互时,能够提供更流畅的用户体验。
Ajax处理流程
Ajax的处理流程主要包括以下几个步骤:
var xmlHttp; if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } else { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
xmlHttp.open()
方法创建并发送请求。 xmlHttp.open("GET", "/employee", true); xmlHttp.send();
onreadystatechange()
方法监听请求状态,并在readyState=4
且status=200
时获取响应内容。 xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState === 4 && xmlHttp.status === 200) { var text = xmlHttp.responseText; // 处理响应内容 } }
Ajax与同步、异步的区别
Ajax请求默认是异步的,即在等待服务器响应的同时,可以继续执行后续代码。与之对比,同步请求需要等待响应后才能继续。
readyState状态说明
XMLHttpRequest的readyState
属性可以反映请求的当前状态:
readyState | 说明 |
---|---|
0 | 请求未初始化 |
1 | 服务器连接已建立 |
2 | 请求已被接收 |
3 | 请求正在处理 |
4 | 响应文本已被接收 |
JQuery对Ajax的支持
JQuery为Ajax操作提供了更简洁的接口,通过$.ajax()
方法进行配置:
常用设置项 | 说明 |
---|---|
url | 请求地址 |
type | 请求类型(GET | POST) |
data | 请求参数 |
dataType | 响应类型(text | json | xml | html | jsonp | script) |
success | 响应成功时的处理函数 |
error | 响应异常时的处理函数 |
示例:
$.ajax({ url: "/Ajax/employee", type: "GET", data: "name='Tom'", dataType: "json", success: function (json) { console.log(json); if (json !== null) { $("#content").append(" " + json.name + " "); } else { $("#content").append(" 未找到该人员 "); } }, error: function (xmlHttp, errorText) { console.log(xmlHttp); console.log(errorText); } });
优化后的结论
通过上述方法,可以实现页面无需刷新即可完成局部更新,提升用户体验。JQuery的简化接口使代码更加清晰,适用于不同浏览器环境。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月28日 08时06分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
不可思议的纯 CSS 滚动进度条效果
2019-03-06
【CSS进阶】伪元素的妙用--单标签之美
2019-03-06
惊闻NBC在奥运后放弃使用Silverlight
2019-03-06
IE下尚未实现错误的原因
2019-03-06
创建自己的Docker基础镜像
2019-03-06
Python 简明教程 --- 20,Python 类中的属性与方法
2019-03-06
KNN 算法-理论篇-如何给电影进行分类
2019-03-06
Spring Cloud第九篇 | 分布式服务跟踪Sleuth
2019-03-06
CODING 敏捷实战系列课第三讲:可视化业务分析
2019-03-06
工作动态尽在掌握 - 使用 CODING 度量团队效能
2019-03-06
CODING DevOps 深度解析系列第二课报名倒计时!
2019-03-06
数据结构第八节(图(下))
2019-03-06
基于Mustache实现sql拼接
2019-03-06
POJ 2260 Error Correction 模拟 贪心 简单题
2019-03-06
gRPC在 ASP.NET Core 中应用学习(一)
2019-03-06
@SuppressWarnings 用法
2019-03-06
看完你就明白的锁系列之锁的状态
2019-03-06
看完这篇操作系统,和面试官扯皮就没问题了
2019-03-06
我的价值观
2019-03-06
一文详解 Java 并发模型
2019-03-06