好程序员web前端学习路线分享了解AJAX是什么

好程序员 2019-09-03

javascript 服务器 程序员 web 用户体验 浏览器 同步 ajax 脚本 多线程

好程序员web前端学习路线分享了解AJAX是什么首先是服务器

什么是服务器:咱们的页面来源于服务器;实例(在phpnwo上面存放一个页面),
咱们把页面放在互联网的服务器上,就有了自己的网站了。

1.异步同步

生活中的同步: 

生活中的异步:
_7

在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的使用

电话的接打顺序:
_8

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()方法后等待

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

  1. 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 - (完成)响应内容解析完成,可以在客户端调用了

登录 后评论
下一篇
corcosa
16476人浏览
2019-10-08
相关推荐
Java工程师学习指南 初级篇
886人浏览
2019-03-10 22:16:22
Java 学习路线之四个阶段
678人浏览
2018-07-16 13:48:00
Java 学习路线之四个阶段
971人浏览
2018-05-18 20:17:00
2018年如何快速学Java
1255人浏览
2018-11-05 13:05:25
前端开发路线图
1074人浏览
2018-05-02 13:54:24
web前端完整学习路线
6114人浏览
2018-11-05 13:53:30
前端自学路线之js篇
804人浏览
2017-10-19 09:07:00
2018前端工程师成长路线图
939人浏览
2018-09-04 09:48:00
java学习路线图------(java1234)
2229人浏览
2013-10-05 08:48:00
0
0
0
422