当前位置: 首页 > news >正文

广州酒店网站制作深圳网络推广网络

广州酒店网站制作,深圳网络推广网络,淘宝网站建设教程视频,渭南住建网一、什么是AJAX AJAX( Asynchronous JavaScript And XML)就是异步的 JS 和 XML 通过 AJAX 可以在浏览器中向服务器发送异步请求 最大的优势:无刷新获取数据,就是可以在不刷新网页的情况下向服务器发送请求,用于实现…

一、什么是AJAX

AJAX( Asynchronous JavaScript And XML)就是异步的 JS 和 XML

通过 AJAX 可以在浏览器中向服务器发送异步请求

最大的优势:无刷新获取数据,就是可以在不刷新网页的情况下向服务器发送请求,用于实现懒加载(按需加载)

AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式

二、AJAX的优缺点

优点

  1. 可以无需刷新页面与服务器端进行通信
  2.  允许你根据用户行为来更新部分页面内容

缺点

  1. 没有浏览历史,不能回退
  2. 存在跨域问题(同源)
  3. 对SEO 不友好

三、请求流程

如果只是测试的话,可以让浏览器临时禁用 CORS:

WIN+R输入以下启用 关闭浏览器安全策略的Chrome

chrome.exe --disable-web-security --user-data-dir=C:\Temp

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>AJAX GET 请求</title><style>.GETBox {width: 200px;height: 100px;border: 1px solid black;}</style></head><body><button class="GETBtn">点击发送GET请求</button><div class="GETBox"></div><script>// 获取button元素const GETBtn = document.getElementsByClassName("GETBtn")[0];const GETBox = document.getElementsByClassName("GETBox")[0];// 绑定点击事件GETBtn.onclick = function () {// 创建对象const xhr = new XMLHttpRequest();// 设置响应体类型xhr.responseType = "json";// 请求超时回调xhr.timeout = function(){alert("请求超时");}// 请求异常回调xhr.onerror = function(){alert("网络异常");}// 初始化请求:设置请求方法和URL(在这里接query参数)xhr.open("GET", "http://shanhe.kim/api/za/chouq.php");// 设置请求头// xhr.setRequestHeader("Content-Type", "application/json");// 发送请求(send里放请求体参数)xhr.send();// 取消请求// xhr.abort();// 事件绑定:处理服务端返回的结果xhr.onreadystatechange = function () {// 判断 xhr对象中的状态属性-readyState// 0 UNSENT 未初始化: XHR对象已创建,但尚未调用open()方法初始化请求// 1 OPENED 启动: 已调用open()方法建立与服务器的连接,但尚未调用send()发送请求// 2 HEADERS_RECEIVED 发送完成: 已调用send()方法并发送请求至服务器,且服务器已返回响应头(HTTP状态码和响应头信息可用)// 3 LOADING 接收中: 正在接收服务器返回的响应体数据,部分数据可能已可用// 4 DONE 完成: 请求已完成,所有响应数据(包括状态码、响应头和响应体)均已接收并解析完毕if (xhr.readyState == 4) {// 判断响应状态码 200 401 403 404 500// 2xx 成功            3xx 重定向// 4xx 客户端错误       5xx 服务器错误if (xhr.status >= 200 && xhr.status < 300) {// 响应头console.log(xhr.getAllResponseHeaders());// 响应体console.log(xhr.response);// 将响应信息解析并放到页面中(这是没设置响应体类型时的写法)// GETBox.textContent = JSON.parse(xhr.response).content;// 设置了响应体类型之后可以直接用GETBox.textContent = xhr.response.data.draw;}}};};</script></body>
</html>

四、AJAX的IE缓存问题

在IE浏览器下,当访问同一个api时,IE浏览器可能会用上一次访问时缓存的数据,并不会更新到新的数据

解决方法:在请求路径中带一个不会重复的query参数,例如:

xhr.open("GET", "http://shanhe.kim/api/za/chouq.php?t="+Date.now());
http://www.yayakq.cn/news/706238/

相关文章:

  • 中国建设服务信息网站wengdo网站开发创意设计
  • 公司网站设计广州在线定制签名
  • 怎么给网站做优化温江网站建设价格
  • 网站竞争对手的选定一般参考什么标准的网页三剑客是哪三个软件
  • 学生个人网站建设模板做类似昵图网网站
  • 做自媒体挣钱的网站有哪些个人网站经营性备案查询
  • ppt下载免费网站丽水做网站的公司
  • qq群网站制作全国网页设计大赛品牌榜中榜
  • 苏州做儿童场馆门票包票的网站如何制作微信小程序答题
  • 石家庄专业网站制作公司网页多少钱
  • 5分钟建站wordpress震泽做网站
  • 玉树营销网站建设网站上线之后要做的工作
  • 网站名字大全有哪些物流企业网站建设步骤
  • 网站公司图片wordpress erphpdowns
  • 网站整体规划方案网页微博怎么看直播
  • 广告传媒公司网站成都专业做网站公司哪家好
  • 网站建设未来photoshop怎么修改图片上的文字
  • 2017wordpress整站源码新闻今天的最新新闻
  • dede网站首页加悬浮广告开网站开发公司
  • 企业网站域名注册网站被spider重复抓取
  • 如果将域名指向网站nginx php7 wordpress
  • 租房网站开发动漫制作需要哪些软件
  • 企业网站推广渠道有哪些郑州加盟做网站
  • 推推蛙网站建设站长源码论坛
  • 深圳宝安区网站建设主流网站开发工具
  • 建站平台哪家好wordpress文章编辑器的插件
  • 山西做网站费用做女朋友的网站
  • 湖北天健建设集团有限公司网站建行手机网站
  • 湛江网站建设招聘php支持大型网站开发吗
  • 阿里巴巴网站建设分析平面设计的前景怎么样