Ajax获取数据的几种格式和解析方式

一.什么是ajax 
 AJAX的全称是Asynchronous JavaScript and XML(是异步的 javascript 和 XML)。 
  ajax不是新的编程语言,而是一种使用现有标准的新方法,ajax是一种在无需从新加载整个网页的状况下,可以更新部分网页的技术。 
  ajax是一种用于快速建立动态网页的技术。经过在后台与服务器进行少许数据交换,ajax就可使网页实现异步更新。这意味着能够在不从新加载整个网页的状况下,对网页的某部分进行更新。而传统的网页(不使用ajax)若是须要更新内容,必须重载整个网页面。javascript

  ajax的应用使用支持以上技术的web浏览器做为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。可是Opera不支持XSL格式对象,也不支持XSLT。html

  ajax前景很是乐观,能够提升系统性能,优化用户界面。AJAX现有直接框架AjaxPro,能够引入AjaxPro.2.dll文件,能够直接在前台页面js调用后台页面的方法。但此框架与FORM验证有冲突。另微软也引入了AJAX组建,须要添加AjaxControlToolkit.dll文件,能够在控件列表中出现相关控件。java

  ajax的优势:jquery

  一、最大的一点是页面无刷新,用户的体验很是好。 
  二、使用异步方式与服务器通讯,具备更加迅速的响应能力。。 
  三、能够把之前一些服务器负担的工做转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。而且减轻服务器的负担,ajax的原则是“按需取数据”,能够最大程度的减小冗余请求,和响应对服务器形成的负担。 
  四、基于标准化的并被普遍支持的技术,不须要下载插件或者小程序。 
  五、ajax可以使因特网应用程序更小、更快,更友好。web

  ajax的缺点:ajax

  一、ajax不支持浏览器back按钮。 
  二、安全问题 AJAX暴露了与服务器交互的细节。 
  三、对搜索引擎的支持比较弱。 
  四、破坏了程序的异常机制。 
  五、不容易调试。 
$.ajax({ 
url: ‘string’, 
type: ‘GET/POST’, 
dataType: ‘string’, //规定获取的数据类型 
timeout: 1000, //设置延时 
cache: true/false, //是否自动缓存 
error: function(){}, //错误执行方法 
success: function(){}//成功执行方法 
})编程

 二.$.ajax()方法中dataType属性的取值 
$.ajax()方法中dataType属性要求为String类型的参数,预期服务器返回的数据类型。若是不指定,jQuery将自动根据http包mime信息返回responseXML或responseText,并做为回调函数参数传递。可用的类型以下: 
xml:返回XML文档,可用jquery处理。 
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。 
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),全部post请求都将转为get请求。 
json:返回JSON数据。 
jsonp:”jsonp”格式,使用jsonp形式调用函数时,如”myurl?callback=?”jquery将自转换?为正确的函数名,以执行回调函数。 
text:纯文本格式数据。json

3、datatype的解析方式 
“xml”数据类型的解析:XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不一样的语言环境中解析方式都是同样的,只不过实现的语法不一样而已。小程序

  XML的解析方式分为四种: 
  一、DOM解析; 
  二、SAX解析; 
  三、JDOM解析; 
  四、DOM4J解析。跨域

  一、DOM解析 
  DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(一般称DOM树),应用程序正是经过对这个对象模型的操做,来实现对XML文档数据的操做。经过DOM接口,应用程序能够在任什么时候候访问XML文档中的任何一部分数据,所以,这种利用DOM接口的机制也被称做随机访问机制。

  DOM接口提供了一种经过分层对象模型来访问XML文档信息的方式,这些分层对象模型依据XML的文档结构造成了一棵节点树。不管XML文档中所描述的是什么类型的信息,即使是制表数据、项目列表或一个文档,利用DOM所生成的模型都是节点树的形式。也就是说,DOM强制使用树模型来访问XML文档中的信息。因为XML本质上就是一种分层结构,因此这种描述方法是至关有效的。

  DOM树所提供的随机访问方式给应用程序的开发带来了很大的灵活性,它能够任意地控制整个XML文档中的内容。然而,因为DOM分析器把整个XML文档转化成DOM树放在了内存中,所以,当文档比较大或者结构比较复杂时,对内存的需求就比较高。并且,对于结构复杂的树的遍历也是一项耗时的操做。因此,DOM分析器对机器性能的要求比较高,实现效率不十分理想。不过,因为DOM分析器所采用的树结构的思想与XML文档的结构相吻合,同时鉴于随机访问所带来的方便,所以,DOM分析器仍是有很普遍的使用价值的。

    优势: 
      一、造成了树结构,有助于更好的理解、掌握,且代码容易编写。 
      二、解析过程当中,树结构保存在内存中,方便修改。 
    缺点: 
      一、因为文件是一次性读取,因此对内存的耗费比较大。 
      二、若是XML文件比较大,容易影响解析性能且可能会形成内存溢出。 
       
  二、SAX解析 
  SAX的全称是Simple APIs for XML,也即XML简单应用程序接口。与DOM不一样,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式。当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序经过这些事件处理函数实现对XML文档的访问,于是SAX接口也被称做事件驱动接口。

    优势: 
      一、采用事件驱动模式,对内存耗费比较小。 
      二、适用于只处理XML文件中的数据时。

    缺点: 
      一、编码比较麻烦。 
      二、很难同时访问XML文件中的多处不一样数据。 
       
 三、JDOM解析 
    特征: 
      一、仅使用具体类,而不使用接口。 
      二、API大量使用了Collections类。 
       
 四、DOM4J解析 
    特征: 
      一、JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。 
      二、它使用接口和抽象基本类方法。 
      三、具备性能优异、灵活性好、功能强大和极端易用的特色。 
      四、是一个开放源码的文件

“html”数据类型的解析: 
后台返回纯文本HTML信息;包含的script标签会在插入DOM时执行。 
将一段HTML片断保存在一个HTML文件中,在另外的主页面直接读取该HTML文件,而后解析里面的HTML代码片断融入到主页面中。 
如:a.html页面内容 

hello jQuery


在其余页面解析a.html代码以下: 
(“#a1”).click(function(){(“#div2”).load(‘fragment.html’); 
return false; 
}); 
在项目中经常使用的是Dom去解析html,可是如下介绍的解析器可能会让你更简单、容易去解析html。另外javaweb中经常使用的dom解析是dom4j 
一、jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套很是省力的API,可经过DOM,CSS以及相似于jQuery的操做方法来取出和操做数据。听说它是基于MIT协议发布的。 
jsoup的主要功能以下: 
从一个URL,文件或字符串中解析HTML; 
使用DOM或CSS选择器来查找、取出数据; 
可操做HTML元素、属性、文本;

 

“script”数据类型的解析: 
返回纯文本JavaScript代码, 
“jsonp”数据类型的解析: 
首先得理解什么是jsonp? 
因为受到同源策略的限制因此产生了jsonp方式来跨域请求数据 
同源: 
  同源策略是浏览器的一种安全策略,所谓同源是指,同域名,同协议,同端口。 
  1.、目的:保护用户信息安全 
  二、限制:cookie、localStorage和IndexDB没法读取 
  没法操做跨域的iframe里的dom元素 
  ajax请求不能发送 
利用在页面中动态建立

相关文章
相关标签/搜索