一.什么是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页面内容
在其余页面解析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请求不能发送
利用在页面中动态建立