微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AJAX 基础


// 1 创建AJAX 实例对象 let xhr = new XMLHttpRequest;
// 2 打开 URL(发送请求前的一些处理)  xhr.open('get','./data.json',true);
// 3 监听 ajax 状态信息 xhr.onreadystatechange = function(){     // xhr.readyState AJAX 状态 0 - 4     // xhr.status xhr.statusText 服务器返回的网络状态码 2/3/4/5
    // if(xhr.readyState === 4 && xhr.status === 200){     //     console.log(xhr.response);     // }
    if(xhr.status === 200){         let n = xhr.readyState;         if(n === 2){             console.log('响应头信息先回来:',xhr.getAllResponseHeaders());         }else if( n === 4){             console.log('响应主体信息回来',xhr.responseText);             console.log('响应主体信息回来',JSON.parse(xhr.responseText));         }     }
    }
// 4 发送请求(请求主体的信息会基于 send 的时候发送给服务器) xhr.send(null);
/**  *  请求方式  *     GET   get,delete,head,options  *     post  post/put   *    */
/***  *  ajax 的状态 xhr.readyState  *    *    DONE:    4  响应主体信息返回  *    LOADING: 3  响应主体正在加载返回中  *    HEADERS_RECEIVED: 2 服务器已返回响应头的信息  *    OPENED:  1  已打开 执行了 OPEN  *    UNSENT:  0  未发送 开始创建 Xhr,认状态就是0  *   */
/**  *  HTTP 网络状态码 xhr.status  *   *    以2开始的 200 服务正常返回数据(客户端向服务器发送请求,  *      服务器正常把数据给客户端了,但是数据是否为想要的就不一定了)  *   *    以3开始的  *          301 永久重定向(一般用于域名的转移)  *          302/307 临时转移或者临时重定向(一般用于服务器的 负载均衡)  *          304 读取的是协商缓存的数据  *   *    以4开始的  *          400 请求参数有误   *          401 无权访问  *          403 服务器拒绝执行  *          404 地址错误  *     *    以5开始的     *          500 服务器发生未知错误  *          503 超负荷 [一般是服务器的问题]  *   *   项目中所谓的请求失败 分为两种,  *     网络层面: 服务器没有返回任何的信息(或者和服务器都没有连接上)[根据不同的状态码,可以分析不同的原因]  *     业务层面:  已经从服务器获取数据,只不过获取的数据不符合业务逻辑需要的,也算是 失败 */

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐