什么是Ajax?
1.Ajax是 Asynchronoous JavaScript and XML(异步JavaScript 和 XML)的缩写。
2.Ajax是一种创建交互式、快速动态网页应用的网页开发技术。
3.一种无需重新加载整个网页的情况下,就能够更新部分网页的技术。
为什么使用Ajax?
1.由于JavaScript是单线程,这就使得JS引擎只能完成一个任务才能接着完成下面的任务,如果当前任务的执行时间较长,就会发生阻塞(后面的任务无法继续执行,只能卡在此处)。试想一下,如果用户正要加载一个信息(此时浏览器就会向服务器端请求数据),但是此任务费时(可能服务器处理,网络传输花费很多时间),则用户只能等待的页面加载。但如果此时用户虽然在加载此信息但是其他信息能正常展示,等刚刚费时的任务传过来后再进行展示。这样的话用户体验会好。
2.传统的web浏览器在提交表单时,需要重新加载整个页面,这样提交的数据量大,造成网络性能问题,对服务器的压力也大。并且就算更新一点点的局部内容,服务器都会将整个页面刷新。
工作原理/工作流程
这里需要了解Event Loop的工作原理了。
也就是:主线程在发起ajax请求后,会继续执行其他代码。ajax线程负责读取文档,拿到响应结果后,把响应封装成一个JS对象,存放在任务队列中。
和主线程交互的大概流程知道啦,但是具体时怎么发起Ajax请求的呢?下一篇拭目以待吧!
参考:
https://www.cnblogs.com/dadaxindeyuanzi/p/11186068.html
https://www.jb51.net/article/90528.htm
https://www.zhihu.com/question/20874229
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。