zoukankan      html  css  js  c++  java
  • ajax

    一、概念:

      AJAX=异步JavaScript和XML(标准通用标记语言的子集),是指一种创建交互式网页应用的网页开发技术。是一种用于创建快速动态网页,在无需加载整个网页的情况下,能够更新部分网页的技术。

    二、作用:

      无刷新:不刷新整个页面,只刷新局部。

      (好处:只更新部分页面,有效利用带宽;提供类似C/S的交互效果,操作更方便。)

    三、原理:

      简单来说是通过xmlhttprequest对象来向服务器发送异步请求,从服务器获得数据,然后用JavaScript来操作DOM从而更新页面。最关键的一步就是从服务器获得请求数据,要清楚这个过程和原理,我们必须对xmlhttprequest有所了解。

      xmlhttprequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单地、的说,也就是JavaScript可以及时向服务器提出请求和处理响应,而不阻塞用户,达到无刷新的效果。所以先从xmlhttprequest讲起,来看它的工作原理。

      首先,先来看看xmlhttprequest这个对象的属性。

      它的属性有:

             onreadystatechange每次状态改变所触发事件的事件处理程序

             responsetext从服务器进程返回数据的字符串形式

             responsexml从服务器进程返回的DOM兼容的文档数据对象

             status从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

             statustext伴随状态码的字符串信息

             readystate对象状态值

              0(未初始化)对象已建立,但是尚未初始化(尚未调用open方法)

              1(初始化)对象已建立,尚未调用send方法

              2(发送数据)send方法已调用,但是当前的状态及http头未知

              3(数据传送中)已接收部分数据,因为响应及http头不全,这时通过responsebody和responsetext获取部分数据会出现错误

              4(完成)数据接收完毕,此时可以通过responsexml和responsetext获取完整的回应数据

    四、优点:

       1、无刷新访问服务器,用户体验好;

       2、异步与服务端通信,不需要打断用户的操作;

       3、减轻服务端压力,充分利用浏览器客户端分担压力。

    五、缺点:

       1、ajax干掉了back按钮,是对浏览器后退机制的破坏;

       2、安全问题。ajax技术就如同对企业数据建立了一个直接通道,这使得开发者在不经意之间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术         隐藏起来,允许黑客从远端服务器上建立新的攻击。还有ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击,SQL诸如攻击和基于credentials的安全漏洞等;

       3、对搜索引擎的支持比较弱;

       4、破坏了程序的异常机制;

       5、违背了URL和资源定位的初衷;

       6、一些手持设备现阶段还不能很好的支持ajax。

  • 相关阅读:
    Mysql-学习笔记(==》事件 十二)
    Mysql-学习笔记(==》触发器 十一)
    Mysql-学习笔记(==》函数的建立与使用 十)
    Mysql-学习笔记(==》存储过程 九)
    Mysql-学习笔记(==》常用函数 八)
    Mysql-学习笔记(==》增删主键建立索引 七)
    Mysql-学习笔记(==》约束 六)
    Mysql-学习笔记(==》集合函数与分组四)
    Mysql-学习笔记(==》连接查询_高级查询五)
    Unity3D优化技巧系列七
  • 原文地址:https://www.cnblogs.com/zy12/p/8693738.html
Copyright © 2011-2022 走看看