分类信息程序

网络编程

AJAX应用中需要掌握的知识

2016-8-12 1:41:49网络编程

摘要:AJAX是什么?是Asynchronous Javascript And XML的首字母的缩写, 它不是一门的新的语言,而是对现有技术的综合利用。 其本质是在HTTP协议的基础上以异步的方式与

分享到:



AJAX是什么?

  是Asynchronous Javascript And XML的首字母的缩写, 它不是一门的新的语言,而是对现有技术的综合利用。 其本质是在HTTP协议的基础上以异步的方式与服务器进行通信。


异步的概念?

  指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步。


异步的作用?

  其优势在于不阻塞程序的执行,从而提升整体执行效率。


AJAX的核心?

  XMLHTTPRequest,简写XHR,Xml可扩展标记语言,Http超文本传输协议,Request请求。XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页。XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容。它可以接收任何形式的文本文档,是 AJAX 的 Web 应用程序架构的一项关键功能。

  前文说到XMLHTTPRequest可以接收任何形式的文档,那么就不得不提到在网络传输中常用的两个数据格式。


两种常用的数据格式XML和JSON?

XML:

  XML的定义:可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。

  XML的规范:

    1、必须有一个根元素
    2、不可有空格、不可以数字或.开头、大小写敏感
    3、不可交叉嵌套
    4、属性双引号(浏览器自动修正成双引号了)
    5、特殊符号要使用实体
    6、注释和HTML一样
    虽然可以描述和传输复杂数据,但是其解析过于复杂并且体积较大,所以实现开发已经很少使用了。

  XML使用步骤简述:

    由于XML是DOM对象,可以直接DOM方法,

    1、var xml=xhr.responseXML;获取XML(PHP给的接口)

    2、var items=xml.querySelector('item');获取xml的文档结构

    3、字符串拼接

      3.1、初始化var html='';

      3.2、遍历for(){获取数据var item=item[i],}拼接html+='标签+数据'

    4、渲染document.querySelector('tbody').innerHTHML=html

 JSON:

  JSON定义:JavaScript Object Notation,另一种轻量级的文本数据交换格式,独立于语言。

  JSON的规范:


    1、数据在名称/值对中
    2、数据由逗号分隔(最后一个健/值对不能带逗号)
    3、花括号保存对象方括号保存数组
    4、使用双引号


  JSON的跨语言解析:

    JSON数据在不同语言进行传输时,类型为字符串,不同的语言各自也都对应有解析方法,需要解析完成后才能读取。

    1、PHP解析方法

      数组转json字符 json_encode->$json_array = json_encode($array);

      json字符转成数组 json_decode->$array_json = json_decode($json_array);

    2、Javascript 解析方法

      字符串转对象parse->var jsonObj=JSON.parse(jsonStr);

      对象转字符串stringify->var jsonStr=JSON.stringify(jsonObj);

  tips:JSON兼容处理引用json2.js


XMLHttpRequest中的事件监听onreadystatechange?