在BAT实习,用thinkPHP写项目的时候,曾经用过ajax,刚刚接触的时候,简直惊为天人。接下来,我们就来聊聊,ajax在不同场景的优劣势。
ajax介绍与优势以及适用场景英文全称是asynchronous JavaScript and xml,是一种创建交互式网页应用的网页开发技术。要记住,ajax是一种异步的,用于快速创建动态网页的技术。它能够通过与后台进行少量的数据交换,使网页实现异步更新。这个听起来似乎有点耳熟是不是。我们曾经在之前的回答中聊过websocket协议用于在线聊天室。其实如果不用websocket协议,而使用ajax轮询,也能起到相似的效果。
具体举例子来说,和女神正在用网页端qq聊天,如果使用普通的请求的话,结果就是既等不来女神回复,又发现视频一卡一卡的,实在是很糟糕的体验。
但是如果用ajax轮询就不一样了,ajax可以只携带很少的数据就去与后端交互,获取数据之后,再更改部分页面。从结果上看就是不会明显影响带宽,又能及时拉回女神的回复更新在屏幕上。
这个场景就能看出ajax的优势也就是适用场景就是数据发生变更时,迅速重新渲染部分HTML,而无须加载整个页面。
弊端但是如果使用大量的使用ajax,原本的B/S架构(browser-server)就会变成逐渐像C/S(client-server)靠拢。什么是C/S架构呢,你把软件下载安装到电脑上,比如qq,比如爱奇艺客户端,就算C/S架构。在浏览器环境下,这种情况就会带来一些问题,并且会影响整个浏览器的使用体验。比如ajax会要求浏览器必须加载完js文件后,才能渲染数据,因此用户首次打开页面的时候会发现加载速度不一致。
综上,ajax作为一门先进的技术,大幅改进了B/S架构的使用体验,但是如果无休止且大量的并发ajax的话,会是得其反,因为我们在使用的时候还是要注意的。
以上是我的浅见,如果对您有帮助欢迎点赞留言。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。