看DRP的过程。又一次学习了一遍Ajax。更深刻的体会到了Ajax所具有的魅力。Ajax是一种技术或者方法,更是一

种艺术。它让我们的程序以一种更完美的姿态呈如今用户面前。以下就让我们一起走进Ajax的世界。

简单介绍


全名:


AsynchronousJavaScript and XML。

工作原理:


Ajax的工作原理相当于在用户和server之间加了—个中间层(AJAX引擎),使用户操作与server响应异步化。并不

是全部的用户请求都提交给server,像—些数据验证和数据处理等都交给Ajax引擎自己来做,仅仅有确定须要从server读

取新数据时再由Ajax引擎代为向server提交请求。

通过XmlHttpRequest对象来向server发异步请求,从server获得数据,然后用JavaScript来操作DOM而更新

页面。

核心技术:


异步

主要成员:


JavaScript、XMLHTTPRequest、DOM

应用:


新浪微博、Google地图等

同步与异步

提到Ajax。必定会提到同步和异步。

同步:能够理解为单线程,也能够理解为“死心眼”。

也就是在运行完一个函数或方法之后,一直等待系统返回

值或消息,这时程序是出于堵塞的,仅仅有接收到返回的值或消息后才往下运行其它的命令。

异步:能够理解为多线程(异步肯定是多线程)。

运行完函数或方法后。不必堵塞性地等待返回值或消息。仅仅需

要向系统托付一个异步过程。那么当系统接收到返回值或消息时。系统会自己主动触发托付的异步过程,从而完毕一个完

整的流程。

还不懂?同步就是你叫我去吃饭,我听到了就和你去吃饭;假设没有听到,你就不停的叫。直到我告诉你听到

了。才一起去吃饭。

异步就是你叫我。然后自己去吃饭,我得到消息后可能马上走,也可能等到下班才去吃饭。

以。要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法。这样你能够省钱。

而我们的Ajax仅仅要就应用了异步。来展现自己的魅力,提高用户的体验度。讲到这里就不得不提Ajax的核心对象

XMLHttpRequest。正是它的存在才干够让Ajax向世人展现它强大的功能。

XMLHttpRequest介绍


这里不具体介绍XMLHttpRequest的属性和方法。我们大致说一下XMLHttpRequest的工作过程:

  1. 为得到XMLHttpRequest对象实例的一个引用。能够创建一个新的实例,也能够訪问包括有XMLHttpRequest实例的一个变量。

  2. 告诉XMLHttpRequest对象。哪个函数会处理XMLHttpRequest对象状态的改变,为此要把对象onreadystatechange的属性设置为指向JavaScript函数的指针。
  3. 指定请求的属性。

    XMLHttpRequest对象的open()方法会指定将发出的请求。

    open()方法取3个參数:一个是指示所用方法(一般是GET或POST)的串。一个是表示目标资源URL的串。一个是Boolean值。指示请求是否是异步的。

  4. 将请求发送给server。

    XMLHttpRequest对象的send()方法把请求发送到指定的目标资源。

    send()方法接受一个參数,一般是一个串或一个DOM对象。这个參数作为请求体的一部分发送到目标URL。当向send()方法提供參数时,要确保open()中指定的方法是POST。假设没有数据作为请求体的一部分被发送。则使用null。

这些步骤非常直观:你须要XMLHttpRequest对象的一个实例,要告诉它假设状态有变化该怎么做,还要告诉它向哪

里发送请求以及怎样发送请求,最后还须要指导XMLHttpRequest发送请求。

再简单点就是:创建出一个实例。告诉他

他须要做什么。为谁服务。

优缺点

不论什么一件艺术品都有不是完美的,Ajax也一样。自从Ajax出现之后,对它的讨论就没有停止过。

长处显而易见:

  1. 局部刷新页面,降低用户心理和实际的等待时间,带来更好的用户体验
  2. 减轻server的负担,按需取数据,最大程度的降低冗余请求
  3. 基于xml标准化,并被广泛支持,不需安装插件等
  4. 进一步促进页面和数据的分离

但它的缺点也非常明显,有人总结出Ajax的“七宗罪”。这里我们就不具体说了,我大致总结一下它的缺点:

  1. ajax干掉了backbutton,即对浏览器后退机制的破坏。
  2. 对搜索引擎的支持比較弱。
  3. 破坏异常处理机制

总结:

这是一篇帮助大家了解Ajax的文章。没有太多具体的技术解说,Ajax是一门非常有用的技术。它能够非常好的提高

客户的体验度。但它也不是完美的,非常多场景下并不适合使用它,比方:须要替换大量文本的情况下。

Ajax—初识的更多相关文章

  1. day059 ajax初识 登录认证练习

    ajax初识 ajax有两个特点: 一个是异步,另一个是浏览器页面局部刷新(这个特点是用户感受不到的时候进行的) 示例: 页面输入两个整数,通过AJAX传输到后端计算结果并返回 在HTML文件中: & ...

  2. 70、django之Ajax初识

    Ajax准么说是用于Javascript与服务器端进行交互的,我们之前呢没有了解ajax也同样可以完成与服务器的交互,那么ajax的优势在哪里?首先ajax是异步交互的也就是说我们基本不会遇到卡顿现象 ...

  3. AJAX初识(原生JS版AJAX和Jquery版AJAX)

    一.什么是JSON 1.介绍 JSON独立于语言,是一种与语言无关的数据格式. JSON指的是JavaScript对象表示法(JavaScript Object Notation) JSON是轻量级的 ...

  4. day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType

    一.ajax 的特点 1.异步交互:客户端发出一个请求后,需要等待服务器响应结束后, 才能发出第二个请求 2.局部刷新:给用户的感受是在不知不觉中完成请求和响应过程. 二.ajax 模板示例 ($.a ...

  5. django之Ajax初识

    Ajax准么说是用于Javascript与服务器端进行交互的,我们之前呢没有了解ajax也同样可以完成与服务器的交互,那么ajax的优势在哪里?首先ajax是异步交互的也就是说我们基本不会遇到卡顿现象 ...

  6. jQuery的Ajax初识

    1. 什么是Ajax? Ajax是“Asynchronous Javascript And XML(异步Javascript和XML)”的缩写, 是指一种创建交互式网页应用的网站开发技术. Ajax不 ...

  7. Django - Ajax初识

    当需要在弹出的对话框中,做判断操作时,需要用到ajax 1.host.html <!DOCTYPE html><html lang="en"><hea ...

  8. AJAX 初识

    AJAX全称为 Asynchronous Javasript And XML,是在浏览器端进行网络编程(发送请求,接收响应)的技术方案.AJAX 也就是浏览器提供的一套API,可以供 Javascri ...

  9. ajax初识

    Ajax 全称为:"Asynchronous JavaScript and XML"(异步 JavaScript 和 XML) 它并不是 JavaScript 的一种单一技术,而是 ...

随机推荐

  1. Tomcat 用户配置

    如果你没有改变任何配置文件,请检查文件conf / tomcat用户.xml在你安装.该文件必须包含凭证让你使用这个应用. 例如,添加一个用户名为tomcat manager gui角色s3cret密 ...

  2. [置顶] ubuntu 和 win7 远程登陆 + vnc登陆

    ubuntu 和 win7 远程登陆: 第一种(通过win7自带的远程桌面来连接ubuntu) 1. windows7配置 我的电脑->属性->远程设置.-----允许远程连接 2. ub ...

  3. 大话spring.net之IOC

    在学习Spring.NET这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC). 控制反转(Inversion of Control,英文缩写为IoC).也 ...

  4. 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)

    [SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...

  5. U3D——Unity3D的脚本-script入门

     Unity3D的基本操作非常easy就能掌握了,接下来就是游戏系统的核心部分:脚本. 什么是Script(脚本)?简而言之,就是使用代码来运行一系列动作命令的特殊文本,它须要编译器来从新解读.U ...

  6. UVA11324-- The Largest Clique(SCC+DP)

    题目链接 题意:给出一张有向图,求一个结点数最大的结点集,使得该结点集中随意两个结点u和v满足:要么u能够到到v,要么v能够到达u(u和v能够互相到达) 思路:我们能够缩点,用Tarjan求出全部强连 ...

  7. html中加入超链接方式的汇总

    在CSS样式中,对超链接的样式有以下几种定义(1)设置链接未被访问时的样式,具体写法如下:a:link{font-size:10px;... }(2)设置链接在鼠标经过时的样式,具体写法如下:a:ho ...

  8. Delphi面向对象设计的经验原则(61条)

    (1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深 ...

  9. 【MySQL案例】HA: GTID_MODE配置不一致

    1.1.1. HA: GTID_MODE配置不一致 [环境描写叙述] msyql5.6.14 [报错信息] 初始状态Master和Slave都开启了enforce-gtid-consistency和g ...

  10. Android获取设备採用的时间制式(12小时制式或24小时制式)

    /** * 获取设备採用的时间制式(12小时制式或者24小时制式) * 注意: * 在模拟器上获取的时间制式为空 */ private void getTime_12_24(Context conte ...