1、AJAX(Asynchronous JavaScript and XML)即,异步JavaScript和XML

2、同步/异步差别
同步
①每次进行整个页面的刷新
②同步的链接在同一时间仅仅能有一个,它的运行会阻止兴许JS的运行,JS必须在同步链接运行完成后才干继续运行。
异步
①每次仅仅刷新须要更新的部分
②能够发生多个,同一时候,不会阻止JS执行

3、异步载入/AJAX的特点及优势
① 局部刷新,按需载入,仅仅有页面中真正改变的部分得到更新;

② 可以减少server的数据流量,页面在更新,用户可以继续工作

③ 浏览器可以从server端同一时候请求多项内容

④ 每次传递的流量相对是比較小的,浏览器请求返回速度快一些

4、不能整个页面所有使用AJAX进行数据申请的原因?
由于不利于SEO,标签内部都是空的,SEO抓取不到,对于页面中比較重要的信息,通常使用静态

5、AJAX几个基本API
①new XMLHttpRequest() (IE5 和 IE6 使用 ActiveXObject)。  

②open()  

③send()   

④onload()  

⑤responseText()

老版本号的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:

variable=new ActiveXObject("Microsoft.XMLHTTP");

为了应对全部的现代浏览器,包含 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。假设支持,则创建 XMLHttpRequest 对象。假设不支持,则创建 ActiveXObject :

var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

open(method,url,asyn) 确定即将链接的网址及方式

參数
method:String 採用post/get形式请求
url:String, 要链接的网址
asyn:Boolean,是否发起异步请求

send(data)

參数 
❤ 6、异步载入的几个基本步骤
<script>

     var url = '2.html';

     // 创建请求

     var xhr = new XMLHttpRequest();                                          

     // 确定请求的方式以及请求的地址

     xhr.open('post',url,true);

     // 发生请求

     xhr.send(null);

     // server端载入完毕

     xhr.onload = function() { document.writeln(xhr.responseText); }

</script>
7、AJAX仅仅能处理文本类的文件,对于图片不能处理
8、innerHTMl中script代码是不会被运行的,AJAX返回的是字符串
eval的作用:让字符串当做JS去运行,假设遇到innerHTML中JS不运行的问题,须要使用eval方法,可是,性能不好,同一时候在JS的严格模式和非严格模式下存在不同,在项目和代码中尽量少出现.

xhr.onload = function() {

          con.innerHTML=xhr.responseText;
          /*con下的script*/

          var cons = con.getElementsByTagName('script');

          for (var i = 0; i < cons.length; i++) {

               eval(cons[i].innerHTML);

          };

}
/*

 *  a、直接在对象data后面加点。再加属性就可以;

 *  b、採用[ ]的方式訪问,有点类似数组,只是是通过key去索引;

 */

 var json = '{"a":"HTML5自由者", "b":"黄艺斌"}';   

 var data = eval("("+json+")");   

 alert(data.a);     // 弹出: HTML5自由者

 alert(data['b']);  // 弹出: 黄艺斌

假设每一个tab切换都用一个文本格式来创建则要求创建非常多,这时候须要用到数据格式JSON或者XML

9、❤数据格式
JSON 与 XML都是常见的数据格式
JSON(JavaScript Object Notation)轻量级数据格式,直译为JavaScript对象符号
XML是一种可扩展标记语言,与HTML都是标记语言

10、❤ JSON优劣势:
JSON的优势
JSON的劣势


① 轻量级,体积小,节省流量,提高载入速度

② 解析成原生JS对象,解析比XML更快

③ 查找数据无需查找标签,更快

在古老的浏览器如IE7-中不支持原生JSON解析,
须要引入第三方库的支持
JSON/XML辨析:
可读性:两者都有非常长的可读性,XML数据严格遵循XML DOM模型规范,JSON严格遵循JS语言语法

可扩展性:XML数据通过自己定义标签,能够设计更复杂的数据嵌套结构,而JSON能够通过数组和对象的无穷组合也能够模拟随意XML数据结构。

编码难度:XML有丰富的编码工具(如Dom4j、jDom等),JSON也有json.org提供的工具,可是JSON编码明显比XMLeasy,即使不借助工具也能够手写JSON代码,可是要手写XML文档就很困难。

解码难度:XML数据解析需考虑结构层次及节点关系,解析难度很大,JSON数据不存在解析难度

文件大小:相同的数据,XML文件大小大于JSON文件体积大小

11、JSON常见形式:对象、数组
JSON数组的写法:

数组是一个有序的值的集合



JSON对象的写法:

对象是一个无序的"名/值"对的集合









12、JSON数据的内容
JSON中数据内容通过值来表示:字符串、数值、逻辑值、null、对象、数组



* 字符串必须使用双引號括起来

* 数值能够直接引用,不须要加入�引號

* 逻辑值仅包括true和false,直接引用,不须要加入�引號

* 在JSON数据中,分隔符(空格,制表符和换行符)是不被解析的,因此可在任何位置添加�空白

13、JSON数据类型转换
JSON.parse(string);  将json字符串string转换为js对象
JSON.stringify(obj); 将JS对象转换为JSON字符串

转载请注明出处:CSDN博客--HTML5自由者  http://blog.csdn.net/html5_

AJAX基础知识点学�的更多相关文章

  1. AJAX基础知识点学习

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangyibin628/article/details/28281003 1.AJAX(Async ...

  2. AJAX基础知识点——思维导图

    如图 思维导图图片链接 http://www.edrawsoft.cn/viewer/public/s/4db2e712070147 有道云笔记链接 http://note.youdao.com/no ...

  3. .NET基础知识点

    .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

  4. 0基础如何学Android开发

    链接:http://pan.baidu.com/s/1bIEIse 密码:ky7w https://pan.baidu.com/s/1i53bs6x提取码:0pwthttps://www.zhihu. ...

  5. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  6. .NET 基础 一步步 一幕幕 [.NET基础知识点]

    .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

  7. 零基础怎么学Java?Java的运行机制是什么?Java入门基础!

    Java语言是当前流行的一种程序设计语言,因其安全性.平台无关性.性能优异等特点,受到广大编程爱好者的喜爱. 想学习Java语言的同学对于Java的运行机制是必须要了解的!! 计算机高级语言的类型主要 ...

  8. fastclick 源码注解及一些基础知识点

    在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...

  9. 史上最全的Ajax基础详解

    同步请求和异步请求 先解释一下同步和异步的概念: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯 ...

随机推荐

  1. jquery如何在加载完iframe的内容后才进行下一步操作

    为iframe添加onload事件 ie使用attachEvent("onload",function(){}) firefox.chrome使用addEventListener( ...

  2. JavaScript编程:浏览器对象模型BOM

    4.浏览器对象模型BOM: document.body.offsetwidth可以获取浏览器宽度. Window对象:          窗口操作:            1.moveBy(dx,dy ...

  3. Android手势识别(单击 双击 抬起 短按 长按 滚动 滑动)

    对于触摸屏,其原生的消息无非按下.抬起.移动这几种,我们只需要简单重载onTouch或者设置触摸侦听器setOnTouchListener即可进行处理.不过,为了提高我们的APP的用户体验,有时候我们 ...

  4. Servlet过滤器——使用过滤器禁止浏览器缓存页面

    1.概述 IE缓存虽然能提高已储存网站的访问速度,但是过度的IE缓存会影响浏览器的响应速度.同时还可能为网站的运行带来一些不必要的麻烦.例如:可能会因为浏览器缓存的应用,而导致Web服务器不能准确的计 ...

  5. delpi中的RTTI初试

    java中的反射机制使我们能够在运行期间获取运行期类的信息,那么在delphi中有没有这样的功能呢?答案是有,实现这种功能的机制在delphi中叫做RTTI,废话少说,先来一段demo: 1.先定义一 ...

  6. 待机状态下,服务类型 WCDMA Service type in Idle mode

    Services aredistinguished into categories defined in [7]; also the categorisation of cellsaccording ...

  7. Ajax - 异步处理(点击变成文本框并修改)

    效果: 对应的文档结构: Test.aspx 前台代码: 引入JQuery(jquery-1.8.3.min.js). 引入自己所写的JS代码(UserJS.js). <html xmlns=& ...

  8. 百度地图js版定位控件

    一 概述 百度地图在最新版已加入浏览器定位控件,个人认为应该是既高德地图更新了一个浏览器也能定位功能后,百度不甘落后自己简简单单,草草写了个这个功能的定位控件 GeolocationControl 这 ...

  9. QT5静态编译教程,主要针对vs2012(渡世白玉)

    QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2 ...

  10. 《Struts2技术内幕》学习笔记

    第2.3章 基础 三种类模式:属性-行为模式.属性模式.行为模式. 其中属性模式有:PO(持久化对象).BO(业务对象).VO(值对象).DTO(传输数据对象).FromBean(页面对象)他们是对J ...