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

ajax的优缺点有哪些?

我们先来介绍一下什么是ajax:

对于ajax的理解,ajax是一种使用现有技术集合技术内容包括: HTML或XHTML、CSS、
JavaScript、DOM、XML、 XSLT, 以及最重要的XMLHttpRequest。
用于浏览器与服务器之间使用异步数据传输(HTTP请求),做到局部请求以实现局部刷新

ajax有什么作用:
(1)不刷新页面就能更新网页(局部刷新)
(2)在页面加载后从服务器请求数据
(3)在页面加载后从服务器接收数据
(4)在后台向服务器发送数据

如何使用:

(1)创建XMLHttpRequest对 象
(2)使用open方法设置和服务器的交互信息
(3)设置requestHeader() request. setRequestHeader(属性名称,属性值)
(4) send( )设置发送的数据,开始和服务器交互
(5)取得响应,注册事件

优/缺点:
1.无刷新更新数据:ajax最大的优点就是能够在不刷新整个页面的情况下维持
与服务器通信
2.异步与服务器通信:使用异步的方式与服务器通信,不打断用户的操作
3. 前端与后端负载平衡:将一些后端的工作移到前端,减少服务器与宽带的
负担
4.基于规范被广泛应用:不需要下载浏览器插件或者小程序,但需要用户允
许JavaScript在浏览器上执行
5.界面与应用分离: ajax使得界面与应用分离,也就是数据与呈现分离

1.ajax干掉了back与history功能,即对浏览器机制的破坏:在动态更新页面的
情况下,用户无法回到前一页的页面状态,因为浏览器仅能记忆历史记录中的静
态页面
2.安全问题: ajax技术给用户带来很好的用户体验的同时也对IT企业带来了新
的安全威胁,ajax技 术就如同对企业数据建立了一个直接通道,这使得开发者在不
经意间会暴露比以前更多的数据和服务器逻辑
3.对搜索引擎支持较弱
4.破坏程序的异常处理机制
5.违背URL与资源定位的初衷
6.不能很好的支持移动设备
7.客户端肥大,太多客户端代码造成开发上的成本
 

相关文章:

  • 每日一题:用c语言中指针实现除2操作
  • Centos7安装Docker与Docker-compose【图文教程】
  • Flutter iOS上架指南
  • 【JAVAEE学习】探究Java中多线程的使用和重点及考点
  • Python语言例题集(010)
  • 苍穹外卖07(缓存菜品,SpringCache,缓存套餐,添加购物车菜品和套餐多下单,查看购物车,清除购物车,删除购物车中一个商品)
  • vue 数据埋点
  • Node.js入门
  • 韩顺平 | 零基础快速学Python
  • UE RPC 外网联机(1)
  • 《极客时间TonyBai go语言第一课》学习笔记
  • 在 Jupyter Notebook 中切换环境
  • jupyter Notebook 默认路径修改
  • 正弦实时数据库的应用(1)-数字孪生
  • 自动化分享----pywinauto
  • JS 中的深拷贝与浅拷贝
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ES6简单总结(搭配简单的讲解和小案例)
  • Laravel Mix运行时关于es2015报错解决方案
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Sass 快速入门教程
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue 个人积累(使用工具,组件)
  • webgl (原生)基础入门指南【一】
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 讲清楚之javascript作用域
  • 精彩代码 vue.js
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 实现菜单下拉伸展折叠效果demo
  • ​水经微图Web1.5.0版即将上线
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (TOJ2804)Even? Odd?
  • (二)c52学习之旅-简单了解单片机
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (转)【Hibernate总结系列】使用举例
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)C#调用WebService 基础
  • (转)Oracle存储过程编写经验和优化措施
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转载)Google Chrome调试JS
  • @Autowired @Resource @Qualifier的区别
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [@Controller]4 详解@ModelAttribute
  • [2018-01-08] Python强化周的第一天
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [2544]最短路 (两种算法)(HDU)
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [BUG] Authentication Error
  • [C++][数据结构][算法]单链式结构的深拷贝
  • [C++参考]拷贝构造函数的参数必须是引用类型