版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/huangyibin628/article/details/28281003

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. java基础知识点学习

    基础学习总结 1.锁sync/lock都有哪些方法,底层实现 synchronized ['sɪŋkrənaɪzd] 2.线程池的参数.线程池执行的流程,当到达线程池到达最大数,队列也满了,出现的异常 ...

  2. AJAX基础知识点学�

    1.AJAX(Asynchronous JavaScript and XML)即,异步JavaScript和XML 2.同步/异步差别 同步: ①每次进行整个页面的刷新 ②同步的链接在同一时间仅仅能有 ...

  3. Node基础知识点--学习笔记(一)

    一:建立http服务器: 在D盘建立一个文件夹node,放入app.js,代码如下: var http = require('http'); http.createServer(function(re ...

  4. JavaScript基础知识点学习记录

    一.简介: JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如相应用户的各种操作. J ...

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

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

  6. android开发学习---基础知识学习、如何导入已有项目和开发一个电话拨号器

    一.基础知识点学习  1.Android体系结构 如图所示,android 架构分为三层: (1)最底层是linux内核,主要是各种硬件的驱动,如相机驱动(Camera Driver),闪存驱动(Fl ...

  7. Java后端高频知识点学习笔记1---Java基础

    Java后端高频知识点学习笔记1---Java基础 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819297 1.重载和重写的区别 重载:同一类中多个同名方 ...

  8. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  9. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

随机推荐

  1. Django 学习笔记(二) --- HTML 模版

    人生苦短 ~ Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用).因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的 ...

  2. .7-浅析webpack源码之WebpackOptionsDefaulter模块

    WebpackOptionsDefaulter模块 通过参数检测后,会根据单/多配置进行处理,本文基于单配置,所以会进行到如下代码: if (Array.isArray(options)) { com ...

  3. LSApplicationQueriesSchemes--关于info.plist 第三方登录 添加URL Schemes白名单

    近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 当你的应用在iOS 9 ...

  4. inheritConstructorStealing.js

    // 借用构造函数 // 其基本思路是在子类型构造函数的内部调用父类型的构造函数 function Person(name){ this.name = name; this.friends = [&q ...

  5. TCP握手过程中建连接的流程和队列

    这里有两个队列:syns queue(半连接队列):accept queue(全连接队列). 三次握手过程中: 第一步: server 收到 client 的 syn 后,把这个连接信息放到半连接队列 ...

  6. 关于Bootstrap fileinput 上传新文件,移除时触发服务器同步删除的配置

    在Bootstrap fileinput中移除预览文件时可以通过配置initialPreviewConfig: [ { url:'deletefile',key:fileid } ] 来同步删除服务器 ...

  7. 微信小程序-06-详解介绍.js 逻辑层文件-注册页面

    上一篇介绍的是 app.js 逻辑层文件中注册程序,对应的每个分页面都会有的 js 文件中 page() 函数注册页面 微信小程序-06-详解介绍.js 逻辑层文件-注册页面 宝典官方文档: http ...

  8. uCrop图片裁剪

    uCrop使用 github地址 https://github.com/Yalantis/uCrop然后clone或下载到本地,运行之. 效果预览 app/build.gradle compile ' ...

  9. python变量的命名空间

    首先必须要提一下python程序执行过程中变量的查找规则 较官方的查找机制是: 局部作用域--外部函数作用域--全局作用域--内建函数作用域 其实一般内建函数中的作用域很少会涉及到,因为内建函数其实是 ...

  10. android系统通过图片绝对路径获取URI的三种方法

    最近做项目要通过图片的绝对路径找到图片的URI,然后删除图片,小小总结一下获取URI的方法,亲自试验在 android 4.1.3的系统上都是可用的. 1.将所有的图片路径取出,遍历比较找到需要的路径 ...