Ajax中包含的技术
每个人都知道Ajax不是一种新技术,而是多种原始技术的结合。
1。使用CSS和XHTML来表示它们。
2。使用DOM模型进行交互和动态显示。
三.使用XMLHttpRequest异步与服务器通信。
4。使用Javascript绑定和调用。

在上述技术,除了XMLHttpRequest对象,所有其他的方法都是基于Web标准,已被广泛用于在XMLHttpRequest,虽然目前没有通过W3C,但它已经是一个事实,因为目前几乎所有的主流浏览器都支持它。

Ajax的原理和XmlHttpRequest的目标

Ajax的原则是简单的发送异步请求服务器通过XMLHttpRequest对象,从服务器获取数据,然后使用Javascript操作DOM更新页面。在这最关键的一步是要从服务器得到请求数据。要清楚的过程和原则,我们必须知道关于XMLHttpRequest的事。
XMLHttpRequest是Ajax的核心机制,这是首次在IE5和技术支持异步请求。简而言之,就是Javascript可以要求和过程在时间服务器的响应,而不阻塞用户,实现无刷新效果。
让我们开始与XMLHttpRequest,看看它是如何工作的。
首先,让我们看看XMLHttpRequest对象的属性看。
它的属性是:
onreadystatechange事件处理程序更改事件的每一次状态变化。
responseText返回从服务器处理数据的字符串形式。
DOM兼容的文档数据对象responseXML之外从服务器返回的过程。
从服务器返回的状态数字代码,如常见的404(未找到)和200(就绪)
使用状态码的状态文本的字符串信息
readyState对象状态值
0(未初始化)对象已经建立,但还没有被初始化(尚未调用Open方法)
已经建立了1个(初始化)对象,并没有调用发送方法。
2(发送数据)已调用发送方法,但当前状态和HTTP头未知。
3(数据传输)已收到的数据的一部分,因为和HTTP头的响应是不完整的,所以它是通过responsebody和responseText获取部分数据错误。

4(完成)完成数据,以及完整的响应数据可以通过使用responseXML之外和responseText得到。

ajax的优势
Ajax给我们带来的所有好处基本上都得到了很好的理解。这里我只说几句:
1,最大的问题是页面没有刷新,它与页面中的服务器进行通信,用户体验非常好。
2。使用异步模式与服务器通信,它不需要中断用户的操作,并且能够更快地响应。
3,我们可以将一些工作由以前的服务器到客户端,利用客户端的空闲能力降低服务器和带宽的负担,节约空间和宽带的租金成本,减轻了服务器的负担,AJAX的原理是把数据的需求,最大限度地减少冗余请求和响应在服务器的负担。

4,基于标准化和广泛支持的技术,不需要下载插件或小程序。

ajax的缺点
让我把重点放在Ajax的缺陷上,因为我们通常关注的是Ajax给我们带来的好处,比如用户体验的改善,以及Ajax带来的缺陷。
下面描述的Ajax的缺陷都是天生的。
1,ajax干了后退按钮,也就是说浏览器后退机制的破坏。后退按钮是标准网站的一个重要特性,但它不适合JS。这是Ajax带来的一个严重问题,因为用户常常希望能够通过反推来取消以前的操作。答案是肯定的,使用Gmail,Gmail使用Ajax技术在解决这一问题,在下面的Gmail是回来了,但这并不改变Ajax机制,只有一个笨而有效的方式,用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的iframe复制页面变化。例如,当用户点击回到眉目传情的地图,搜索在一个隐藏的iframe,然后探讨Ajax元素的搜索结果,从而恢复应用程序的状态,当时的状态。
然而,虽然这个问题可以解决,但它带来的开发成本非常高,这与Ajax框架所要求的快速发展正好相反,这是Ajax带来的一个非常严重的问题。
2。安全问题
技术也带来了新的安全威胁和Ajax技术的IT企业,是对企业数据的直接通道,允许开发者在不经意间暴露出更多的数据和服务器逻辑比以前。Ajax逻辑可以隐藏客户端的安全扫描技术,允许黑客从远程服务器上创建新的攻击,Ajax也不能避免一些已知的安全漏洞,如跨站点脚步攻击,SQL注入攻击,并凭据的安全漏洞。
3,对搜索引擎的支持薄弱。
4。它破坏了程序的异常机制。至少从现在开始,这样的ajax.dll Ajax框架一样,ajaxpro.dll可以程序的异常机制的破坏。我已经在发展的进程中遇到这个问题,但几乎没有相关的介绍在互联网上。然后我做了一个实验自己,使用Ajax和传统的表单提交删除一个数据块,分别…这是我们调试难度大。
5,另外还有一些其他方面的问题,如违反URL的初衷和资源定位等。如果您使用Ajax技术,也许您可以看到URL地址下面所看到的内容,而我在URL地址中看到的则是不同的,这与资源定位的初衷相背离。
6,一些手持设备(如手机、PDA等)现在不能很好地支持Ajax。例如,当我们打开在手机浏览器上使用Ajax技术的网站时,目前它是不支持的。当然,这个问题与我们没有多大关系。