2.封装简单的Ajax
<script> //简单的封装一个ajax /** * ajax: async javascript and json * 主要用来实现前后端的数据交流 * A要发送一个信息给B * 请求当中需要有的基本信息 * 1.B的地址 * 2.请求方式 * 3.请求数据 * 4.状态码(B是否正常接收数据) * 5.响应数据 * XMLHttpRequest对象 * 五层网络模型: * 物理层 * 数据链路层 * 网络层 * 传输层 * 应用层 */ function ajax(options){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{//兼容IE6 xhr = new ActiveXObject('Microsoft.XMLHTTP'); } xhr.onreadystatechange = function(){//监听响应事件 //readyState的几个值 //0:当前代理已经被创建,还没有调用open方法 //1:调用了open方法,建议连接 //2:send方法已经被调用 //3:代表正在接收相应信息 //4:代表响应数据全部发送完成 //status的几个值 //200:正常响应 if(xhr.readyState == 4 && ){ if(xhr.status == 200){ options.success(JSON.parse(xhr.responseText)); }else{ console.log('error'); } } } if(options.type == 'GET'){ xhr.open(options.type, options.url + '?' + options.data, options.flag); xhr.send(); }else if(options.type == 'POST'){ xhr.open(options.type, options.url, options.flag); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');//请求头的编码类型:key=value&key1=value1 xhr.send(options.data); } } </script>