




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ajax编程基础 Contents 目 录 Ajax基础Ajax运行原理及实现Ajax异步编程 Ajax基础 传统网站中存在的问题 网速慢的情况下 页面加载时间长 用户只能等待表单提交后 如果一项内容不合格 需要重新填写所有表单内容页面跳转 重新加载页面 造成资源浪费 增加用户等待时间 Ajax概述 Ajax 标准读音 e d ks 中文音译 阿贾克斯 它是浏览器提供的一套方法 可以实现页面无刷新更新数据 提高用户浏览网站应用的体验 Ajax基础 Ajax的应用场景 页面上拉加载更多数据列表数据无刷新分页表单项离开焦点数据验证搜索框提示文字下拉列表 Ajax基础 Ajax的运行环境 Ajax技术需要运行在网站环境中才能生效 当前课程会使用Node创建的服务器作为网站服务器 Ajax基础 Contents 目 录 Ajax基础Ajax运行原理及实现Ajax异步编程 Ajax运行原理及实现 Ajax运行原理 请求 响应 请求 响应 创建 响应 Ajax相当于浏览器发送请求与接收响应的代理人 以实现在不影响用户浏览页面的情况下 局部更新页面数据 从而提高用户体验 Ajax的实现步骤 1 创建Ajax对象 varxhr newXMLHttpRequest 2 告诉Ajax请求地址以及请求方式 xhr open get 3 发送请求 xhr send Ajax运行原理及实现 4 获取服务器端给与客户端的响应数据 xhr onload function console log xhr responseText 服务器端响应的数据格式 在真实的项目中 服务器端大多数情况下会以JSON对象作为响应数据的格式 当客户端拿到响应数据时 要将JSON数据和HTML字符串进行拼接 然后将拼接的结果展示在页面中 JSON parse 将json字符串转换为json对象 在http请求与响应的过程中 无论是请求参数还是响应内容 如果是对象类型 最终都会被转换为对象字符串进行传输 Ajax运行原理及实现 请求参数传递 传统网站表单提交 Ajax运行原理及实现 GET请求方式 xhr open get name zhangsan POST请求方式 xhr setRequestHeader Content Type application x www form urlencoded xhr send name zhangsan Ajax运行原理及实现 请求参数传递 请求报文 在HTTP请求和响应的过程中传递的数据块就叫报文 包括要传送的数据和一些附加信息 这些数据和信息要遵守规定好的格式 Ajax运行原理及实现 请求参数的格式 1 application x www form urlencoded name zhangsan age 20 sex 男 Ajax运行原理及实现 name zhangsan age 20 sex 男 JSON stringify 将json对象转换为json字符串 在请求头中指定Content Type属性的值是application json 告诉服务器端当前请求参数的格式是json 注意 get请求是不能提交json对象数据格式的 传统网站的表单提交也是不支持json对象数据格式的 2 application json 获取服务器端的响应 Ajax状态码 0 请求未初始化 还没有调用open 1 请求已经建立 但是还没有发送 还没有调用send 2 请求已经发送3 请求正在处理中 通常响应中已经有部分数据可以用了4 响应已经完成 可以获取并使用服务器的响应了 xhr readyState 获取Ajax状态码 Ajax运行原理及实现 在创建ajax对象 配置ajax对象 发送请求 以及接收完服务器端响应数据 这个过程中的每一个步骤都会对应一个数值 这个数值就是ajax状态码 onreadystatechange事件 当Ajax状态码发生变化时将自动触发该事件 当Ajax状态码发生变化时xhr onreadystatechange function 判断当Ajax状态码为4时if xhr readyState 4 获取服务器端的响应数据console log xhr responseText Ajax运行原理及实现 获取服务器端的响应 在事件处理函数中可以获取Ajax状态码并对其进行判断 当状态码为4时就可以通过xhr responseText获取服务器端的响应数据了 两种获取服务器端响应方式的区别 Ajax运行原理及实现 获取服务器端的响应 Ajax错误处理 1 网络畅通 服务器端能接收到请求 服务器端返回的结果不是预期结果 可以判断服务器端返回的状态码 分别进行处理 xhr status获取http状态码 2 网络畅通 服务器端没有接收到请求 返回404状态码 检查请求地址是否错误 3 网络畅通 服务器端能接收到请求 服务器端返回500状态码 服务器端错误 找后端程序员进行沟通 4 网络中断 请求无法发送到服务器端 会触发xhr对象下面的onerror事件 在onerror事件处理函数中对错误进行处理 Ajax运行原理及实现 低版本IE浏览器的缓存问题 问题 在低版本的IE浏览器中 Ajax请求有严重的缓存问题 即在请求地址不发生变化的情况下 只有第一次请求会真正发送到服务器端 后续的请求都会从浏览器的缓存中获取结果 即使服务器端的数据更新了 客户端依然拿到的是缓存中的旧数据 解决方案 在请求地址的后面加请求参数 保证每一次请求中的请求参数的值不相同 xhr open get t Math random Ajax运行原理及实现 Contents 目 录 Ajax基础Ajax运行原理及实现Ajax异步编程 Ajax异步编程 同步异步概述 同步 一个人同一时间只能做一件事情 只有一件事情做完 才能做另外一件事情 落实到代码中 就是上一行代码执行完成后 才能执行下一行代码 即代码逐行执行 异步 一个人一件事情做了一半 转而去做其他事情 当其他事情做完以后 再回过头来继续做之前未完成的事情 落实到代码上 就是异步代码虽然需要花费时间去执行 但程序不会等待异步代码执行完成后再继续执行后续代码 而是直接执行后续代码 当后续代码执行完成后再回头看异步代码是否返回结果 如果已有返回结果 再调用事先准备好的回调函数处理异步代码执行的结果 console log before setTimeout console log last 2000 console log after A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年区域医疗数据中心建设与运维合同范本
- 2025年综合能源服务公司员工入职劳动合同规范
- 危急值报告制度及工作流程
- 2024年公务员考试题库附参考答案【综合题】
- 航空公司安检协议范文
- 2025年香柠檬果提取化妆品合作协议书
- 应用化学本科毕业论文
- 汽车大专毕业论文
- 2024年院感知识考试题(附答案)
- 视传专业本科毕业论文
- 矿业公司采矿管理制度
- 新疆维吾尔自治区国际创伤生命支持ITLS职业考试试卷与答案
- 新生儿多重耐药菌防控
- 非标设备公司采购管理制度
- 2025年的基层治理理论与实践考核试卷及答案
- 2025年江西省高考物理真题
- 甘肃白银有色集团股份有限公司招聘考试真题2024
- 第三届全国技能大赛竞赛-工业机器人系统操作赛项选拔赛备考试题库(附答案)
- 外贸合伙人合同协议书
- 2025黑龙江省农业投资集团有限公司选聘12人笔试参考题库附带答案详解
- 2025-2030覆盆子酮行业市场现状供需分析及重点企业投资评估规划分析研究报告
评论
0/150
提交评论