Ajax阶段学习

79 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第十一天,点击查看活动详情

AJAX(Asynchronous Javascript And Xml)

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScriptDOM, XML, XSLT, 以及最重要的XMLHttpRequest。 [3]  使用Ajax技术网页应用能够快速地将增量更新呈现在[用户界面]fromModule=lemma_inlink)上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。 

传统请求及缺点

  • 传统的请求都有哪些?

    • 直接在浏览器地址栏上输入URL。

    • 点击超链接

    • 提交form表单

    • 使用JS代码发送请求

      • window.open(url)
      • document.location.href = url
      • window.location.href = url
      • ....
  • 传统请求存在的问题

    • 页面全部刷新导致了用户的体验较差。
    • 传统的请求导致用户的体验有空白期。(用户的体验是不连贯的)

AJAX概述

  • AJAX不能称为一种技术,它是多种技术的综合产物。

  • AJAX可以让浏览器发送一种特殊的请求,这种请求可以是:异步的。

  • 什么是异步,什么是同步?

    • 假设有t1和t2线程,t1和t2线程并发,就是异步。
    • 假设有t1和t2线程,t2在执行的时候,必须等待t1线程执行到某个位置之后t2才能执行,那么t2在等t1,显然他们是排队的,排队的就是同步。
    • AJAX是可以发送异步请求的。也就是说,在同一个浏览器页面当中,可以发送多个ajax请求,这些ajax请求之间不需要等待,是并发的。
  • AJAX代码属于WEB前端的JS代码。和后端的java没有关系,后端也可以是php语言,也可以是C语言。

  • AJAX 应用程序可能使用 XML 来传输数据,但将数据作为纯文本或 JSON 文本传输也同样常见。

  • AJAX可以更新网页的部分,而不需要重新加载整个页面。(页面局部刷新)

  • AJAX可以做到在同一个网页中同时启动多个请求,类似于在同一个网页中启动“多线程”,一个“线程”一个“请求”。