小小千想和您聊一聊

当前位置: 首页> 技术分享> 前端编程中的AJAX

前端编程中的AJAX

  服务器

  什么是服务器:咱们的页面来源于服务器;实例(在phpnwo上面存放一个页面),

  咱们把页面放在互联网的服务器上,就有了自己的网站了。

  1.异步同步

  生活中的同步:

  生活中的异步:

  在JavaScript语言中,同步和异步的概念刚好相反。

  这JavaScript中同步就是:你不执行完上面的代码,那么下面的代码你就别执行;一步一步执行,这就是同步。

  异步就是可以一块执行的代码;

  进程的概念

  进程≠程序

  程序从开始到结束的一次执行过程叫做进程

  一个进程当中,程序同时运行的多个分支,叫做线程

  多线程异步执行,可以提高程序的效率

  AJAX的重要性

  在许多数企业看来AJAX的使用熟练程度 === 你的工作经验。

  2.什么是AJAX

  ajax是前后端数据交互的重要手段

  Ajax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML), 它并不是 JavaScript 的一种单一技术,而是利用了一系列交互式网页应用相关的技术所形 成的结合体。使用 Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了用户体验。

  一.Ajax 概述

  Ajax 这个概念是由 JesseJamesGarrett 在 2005 年发明的。它本身不是单一技术,是一串 技术的集合,主要有:

  1.JavaScript,通过用户或其他与浏览器相关事件捕获交互行为

  2.XMLHttpRequest 对象,通过这个对象可以在不中断其它浏览器任务的情况下向服务 器发送请求;

  3.服务器上的文件,以 XML、HTML 或 JSON 格式保存文本数据;

  4.其它 JavaScript,解释来自服务器的数据(比如 PHP 从 MySQL 获取的数据)并将其 呈现到页面上。

  由于 Ajax 包含众多特性,优势与不足也非常明显。优势主要以下几点:

  1.不需要插件支持(一般浏览器且默认开启 JavaScript 即可);

  2.用户体验极佳(不刷新页面即可获取可更新的数据);

  3.提升 Web 程序的性能(在传递数据方面做到按需放松,不必整体提交);

  4.减轻服务器和带宽的负担(将服务器的一些操作转移到客户端);

  而 Ajax 的不足由以下几点:

  1.不同版本的浏览器度 XMLHttpRequest 对象支持度不足(比如 IE5 之前);

  2.前进、后退的功能被破坏(因为 Ajax 永远在当前页,不会几率前后页面);

  3.搜索引擎的支持度不够(因为搜索引擎爬虫还不能理解 JS 引起变化数据的内容);

  4.开发调试工具缺乏(相对于其他语言的工具集来说,JS 或 Ajax 调试开发少的可怜) 。

  3.AJAX的使用

  电话的接打顺序:

  1.首先要有一个电话;

  2.拨号;

  3.说话;

  4.听电话另一边的信息;

  //有一个电话:创建请求对象;

  1.var AJAX=new XMLHttpRequest( );

  //拨号:设置请求参数;

  2.AJAX.open('get','data/test.json',true);

  第一个参数:POST||GET

  POST和GET的区别

  POST是发送数据,GET是接受数据;

  PSOT发送数据的安全性较好,而GET较差;

  POST发送数据不限制大小,而GET大小受限2~100k。

  什么时候用GET和POST那:在数据获取时用GET方式,在操作数据时应使用POST方式。

  第三个参数:当该boolean值为true时,服务器请求是异步进行的,也就是脚本执行send()方法后不等待

  服务器的执行结果,而是继续执行脚本代码;

  当该boolean值为false时,服务器请求是同步进行的,也就是脚本执行send()方法后等待

  服务器的执行结果的返回,若在等待过程中超时,则不再等待,继续执行后面的脚本代码!

3. ajax.onreadystatechange = function()
    {
        if (ajax.readyState == 4 && ajax.status == 200)
        {
            func_succ(ajax.responseText);
        }
        else
        {
            //alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);
        }
    };


  4.ajax.send(null);

  ajax.readyStatus

  0 - (未初始化)还没有调用send()方法

  1 - (载入)已调用send()方法,正在发送请求

  2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

  3 - (交互)正在解析响应内容

  4 - (完成)响应内容解析完成,可以在客户端调用了

上一篇:HTML5工具初识之网页编辑器

下一篇:AJAX状态码ajax.status及封装

QQ技术交流群

千锋HTML5官方①群
791201477

加入群聊