目录
一、Ajax的定义
什么是Ajax:
ajax全称“Asynchronous Javascript And XML”,并不是一种新技术,是由javascript、xml、XMLHttpRequest组合在一起、能实现异步提交的功能,是一种创建交互式网页应用的网页开发技术。是多种技术的综合。
异步和同步的区别:
什么是同步请求:
同步请求是指当前发出请求后,浏览器什么都不能做,
必须得等到请求完成返回数据之后,才会执行后续的代码,
相当于生活中的排队,必须等待前一个人完成自己的事物,后一个人才能接着办。
也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态。
什么是异步请求:
异步请求是指当前发送请求后,浏览器可以继续做事
Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。 一般默认值为true,异步。异步请求可以完全不影响用户的体验效果, 无论请求的时间长或者短,用户都在专心的操作页面的其他内容,并不会有等待的感觉。
ajax的工作原理
客户端发送请求,请求交给xhr,xhr把请求提交给服务,服务器进行业务处理,服务器响应数据交给xhr对象,xhr对象接收数据,由javascript把数据写到页面上,如下图所示:
Ajax实现步骤:
1.创建ajax对象
2.请求方式以及请求地址
3.发送请求
4.获取服务器端响应到客户端的数据
Ajax的优缺点:
优点:
1,页面无刷新更新数据。
2,异步请求,不影响用户浏览其他页面和操作
3,界面与应用分离。有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。
4,前端后端负载平衡。最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。
5,基于标准被广泛支持。
缺点:
1)AJAX 干掉了Back和History功能,即对浏览器机制的破坏
2)AJAX的安全问题
3)对搜索引擎支持较弱
4)破坏程序的异常处理机制
5)违背URL和资源定位的初衷
6)AJAX不能很好支持移动设备
7)客户端过肥,太多客户端代码造成开发上的成本
8)如果用户禁用了JS,网站就取不到数据
暂时我所理解的就是这些 欢迎批评,第一次写,有很多不足,也算是记录自己的学习吧。