ajax 异步的 JavaScript 和 xml
异步的 javascript 和 数据传输
xml 数据传输格式 (大型的门户网站 新浪、网易 、凤凰网)
优点:
1.种类丰富
2.传输量非常大
缺点:
- 解析麻烦
- 不太合适轻量级数据
json 数据传输格式(字符串)95%移动端应用
优点:
- 轻量级数据
- 解析比较轻松
缺点:
- 数据总类较少
- 传输数据量较小
JSON.parse()
JSON.stringify()
【注】 任何一个小程序都是由很多个小程序组成的
【注】用来描述一个程序运行状态
同步 阻塞 当前程序运行,必须等待前一个程序运行完毕以后,才能运行
异步 非阻塞 当前程序运行,和前面程序的运行没有任何关系
ajax下载数据
var btn = document.getqueryselector('#btn')btn.onclick = function(){//1. 创建ajax对象var xhr = nullif(window.XMLHttpRequest){xhr = new XMLHttpRequest()}else{xhr = new ActiveXObject('Misrosoft.XMLHttp')}//2.调用open/*第一个参数: 请求方式 get post第二个参数: url第三个参数: 是否异步true 同步false 异步*/xhr.open('get','url',true);//3.调用sendxhr.send();//4. 等待数据响应xhr.onreadystatechange = function(){if(xhr.readyState == 4){console.log(xhr.reponseText)}}}
ajax 兼容问题
var xhr = nullif(window.XMLHttpRequest){xhr = new XMLHttpRequest()}else{xhr = new ActiveXObject('Misrosoft.XMLHttp')}
try_catch
try{
尝试执行的代码
}eatch(error){
error 错误对象 , try 括号中代码 执行的异常信息;
补救代码
}
执行过程
1. 先去执行try中的代码1. 如果try中的代码执行正常,catch中代码不执行1. 如果try中代码执行异常,直接执行catch中的代码进行补救
【注】更多的用在代码调试和后期维护
try{console.log('异常信息之前')console.log(num)console.log('异常信息之后')}catch(error){consloe.log('补救代码,Error:' + error)}var num = 10try{console.log(`异常信息之前`)console.log(`异常信息之后`)console.log(3)if(num != 5){throw new Error(`num的值不是5`)}}catch(error){console.log(`补救代码,Error ${error}`)}
