Ajax复习 痛定思痛。 2023-10-15 09:13 30阅读 0赞 #### Ajax复习 #### #### 一、简介 #### AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 一句话总结:**无刷新通信**。 #### 二、 特点 #### * 优点 > 无刷新通信 > > 允许你根据用户事件来更新部分页面内容 * 缺点 > 1. 没有浏览历史,不能回退 > 2. 存在跨域问题(同源) > 3. SEO 不友好 #### 三、**核心对象** #### **XMLHttpRequest**,AJAX 的所有操作都是通过该对象进行的。 #### 四、**jQuery** **中的** **AJAX** #### * get 请求 $.get(url, [data], [callback], [type]) url:请求的 URL 地址。 data:请求携带的参数。 callback:载入成功时回调函数。 type:设置返回内容格式,xml, html, script, json, text, _default。 * post请求 $.post(url, [data], [callback], [type]) url:请求的 URL 地址。 data:请求携带的参数。 callback:载入成功时回调函数。 type:设置返回内容格式,xml, html, script, json, text, _default。 #### 五、跨域 #### * **同源策略** > 同源策略(Same-Origin Policy)最早由 Netscape 公司提出,是浏览器的一种安全策略。同源: **协议、域名、端口号 必须完全相同**。 > > 违背同源策略就是跨域 #### 六、**解决跨域** #### * JSONP,通过动态创建标签、从而实现跨域。 * **CORS**,服务端解决跨域。 #### 七、其他学习点 #### ##### 7.1、防止重复提交方案 ##### <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>重复请求问题</title> </head> <body> <button>点击发送</button> <script> //获取元素对象 const btns = document.querySelectorAll('button'); let x = null; //标识变量 let isSending = false; // 是否正在发送AJAX请求 btns[0].onclick = function(){ //判断标识变量 if(isSending) x.abort();// 如果正在发送, 则取消该请求, 创建一个新的请求 x = new XMLHttpRequest(); //修改 标识变量的值 isSending = true; x.open("GET",'http://127.0.0.1:8000/delay'); x.send(); x.onreadystatechange = function(){ if(x.readyState === 4){ //修改标识变量 isSending = false; } } } // abort btns[1].onclick = function(){ x.abort(); } </script> </body> </html> ##### 7.1、缓存解决方案 ##### > 加上时间戳,作为参数。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>IE缓存问题</title> <style> #result{ width:200px; height:100px; border:solid 1px #258; } </style> </head> <body> <button>点击发送请求</button> <div id="result"></div> <script> const btn = document.getElementsByTagName('button')[0]; const result = document.querySelector('#result'); btn.addEventListener('click', function(){ const xhr = new XMLHttpRequest(); xhr.open("GET",'http://127.0.0.1:8000/ie?t='+Date.now()); xhr.send(); xhr.onreadystatechange = function(){ if(xhr.readyState === 4){ if(xhr.status >= 200 && xhr.status< 300){ result.innerHTML = xhr.response; } } } }) </script> </body> </html>
相关 Ajax复习 Ajax复习 一、简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 一句话总结:无刷新通信。 痛定思痛。/ 2023年10月15日 09:13/ 0 赞/ 31 阅读
相关 15天深度复习JavaWeb的详细笔记(十)——Filter、Listener、Ajax 文章目录 demo10-Filter、Listener、Ajax 1,Filter 1.1 Filter概述 傷城~/ 2023年10月02日 21:17/ 0 赞/ 102 阅读
相关 复习 Log4j基本使用方法 1.定义配置文件 2.在代码中使用Log4j 1.得到记录器 使用Log4j,第一步就是获取日志记录器,负责控制日志信息。 2.读 我不是女神ヾ/ 2022年06月16日 11:14/ 0 赞/ 239 阅读
相关 JQuery复习之JQuery Ajax 今日目录 1、JqueryAjax 简介 2、JqueryAjax Load 方法 3、jqueryAja £神魔★判官ぃ/ 2022年05月23日 06:39/ 0 赞/ 338 阅读
相关 Ajax&Json复习之交互实例 今日目录 1、Ajax验证用户名 2、Ajax二级联动 一、Ajax验证用户名 ![70][] ![70 1 ゝ一纸荒年。/ 2022年05月23日 01:15/ 0 赞/ 286 阅读
相关 Ajax复习之核心知识 今日目录: 1、XMLHttpRequest 对象创建 2、XMLHttpRequest 对象请求后台 3 灰太狼/ 2022年05月23日 00:49/ 0 赞/ 249 阅读
相关 Ajax复习之Ajax简介 今日目录: 1、Ajax 简介 2、Ajax 交互与传统交互比较 一、Ajax 简介 1、Ajax 是一种网 水深无声/ 2022年05月23日 00:48/ 0 赞/ 276 阅读
相关 ajax复习 什么是AJAX? AJAX是Asynchronous javascript and xml 的缩写,用javascript以异步的形式操作xml(现在操作的是json)。 川长思鸟来/ 2022年05月11日 09:34/ 0 赞/ 288 阅读
相关 复习 1.素数打表 [https://blog.csdn.net/asd1637579311/article/details/79964802][https_blog.csdn. 末蓝、/ 2022年01月12日 06:07/ 0 赞/ 290 阅读
相关 复习日记-Ajax/JSON AJAX的作用: 完成页面局部刷新而不影响用户的体验. \ 用户名是否已经存在的校验 \ 百度信息输入的提示 ... 使用AJAX: JavaScript和XML 淩亂°似流年/ 2021年12月21日 09:47/ 0 赞/ 337 阅读
还没有评论,来说两句吧...