ajax技术是一个非常好的技术,而目前来说,前端工程师必须使用这一技术去构建它的前端项目。因为它可以一步的请求服务端的数据,从而让页面可以无刷新的来更新相关的内容,这一点相比原有的老的前端技术的话要方便太多了,对于用户的体验来说也要好太多了。

你如果非要说它的缺点的话,那么只有一个,也就是说对于搜索引擎的优化不是很好。但是目前来说的话,我觉得这一点可以完全忽略不计了,因为绝大多数的网站或者说项目的流量并不依赖于搜索引擎,而是依赖于一些平台的导入流量,比如说微信公众号等等之类的,那么在这种情况下就完全不必去考虑所谓的搜索引擎优化了。

如果不考虑搜索引擎优化的话,那么使用ajax的技术,那就是有百利而无一害了,作为一个前端工程师,你必须掌握这门技术。至于它的应用场景,那实在是太多了,我就不一一赘述了,反正你记住一点,好好去学就可以了。

以上文字只是我的个人观点,如果各位看官有不同的观点,欢迎在评论区中讨论留言,我会认真的答复每一条评论的。

如果喜欢我的回答,可以给我点赞并关注我,我在这里谢谢大家了。


在BAT实习,用thinkPHP写项目的时候,曾经用过ajax,刚刚接触的时候,简直惊为天人。接下来,我们就来聊聊,ajax在不同场景的优劣势。

ajax介绍与优势以及适用场景

英文全称是asynchronous JavaScript and xml,是一种创建互动式网页应用的网页开发技术。要记住,ajax是一种非同步的,用于快速创建动态网页的技术。它能够通过与后台进行少量的数据交换,使网页实现非同步更新。这个听起来似乎有点耳熟是不是。我们曾经在之前的回答中聊过websocket协议用于在线聊天室。其实如果不用websocket协议,而使用ajax轮询,也能起到相似的效果。

具体举例子来说,和女神正在用网页端qq聊天,如果使用普通的http协议,那么每次想获取女神的回复都需要浏览器带著一个大脑袋的http request去问伺服器,这样一方面很慢,一方面又很占带宽影响网速。如果女神刚好去洗澡了,男孩子只好打开视频网站来消磨时间等待女神,如果聊天页面使用http请求的话,结果就是既等不来女神回复,又发现视频一卡一卡的,实在是很糟糕的体验。

但是如果用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开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。


菜农本人非常喜欢Ajax技术,曾经幻想Ajax控制一切,也曾经购买了域名「HotAjax.com.cn」(后来放弃了该域名),Ajax虽然优点多多,但终归它归属于「非同步通讯」,实时性相对工控的要求较差。

如下图所示,点击上面红色的「在线浏览」,通过Ajax技术就会非同步地(实际非常快,没感觉延时的存在)显示到最下面的「编辑显示」,并且「在线浏览」数也被你「+1」,这就证明了你访问了网站。

如果要求实时性更好的,网友推荐用同步的「WebSocket」技术,本人一直未实战,不敢评述,只能认为同步的WebSocket比非同步的Ajax技术更先进。


ajax:无页面刷新提高用户网页浏览体验

传统同步模式:例如一个电商网页载入如果采用同步的方式,所有的商品模块按顺序载入,这样网页的完整显示时间基本等于同步调用请求的时间之和,页面载入时间和客户满意度成反比,这个就好比一个人去仓库装货,货物越多耗时越长

ajax:用户点开网址,网页静态信息会快速渲染,同时开启多个ajax非同步请求后台数据完成页面数据更新,因响应时间基本都是毫秒级别,客户根本感觉不到,这就好比多个人去仓库装货,人越多耗时越短,另外网页局部动态操作时,如果没有ajax整个网页都要重新载入,严重影响客户体验,借助ajax可以实现网页局部更新,提高用户体验,一般前端比较常用的angularjs等mvvm框架直接将网页元素与后台数据模型双向绑定,便于前后端数据交互


说实话没感觉ajax有啥弊端,因为非同步化提升页面友好度。勉强算弊端的可能是长连接,毕竟http除了websocket,都是短链接,所谓的长连接也是tcp层做的长连接。而对于webim业务,ajax是不友好的,所以会用websocket代替。

其他的存在跨域,其实都是可以解决的。


ajax是无刷新的网页交互技术,可以很好地提高Web应用系统的应用体验。


推荐阅读:
相关文章