前端面试题整理——手写AJAX
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>手写ajax</title> </head> <body> <script> const xhr = new XMLHttpRequest(); xhr.open('GET', '/api', false); xhr.onreadystatechange = function () { // xhr.readyState 的各个状态 // 0:未初始化,还没有调用send()方法 // 1:载入,已调用send()方法,正在发送请求 // 2:载入完成,send()方法执行完成,已经接收到全部响应内容 // 3:交互,正在解析响应内容 // 4:完成,响应内容解析完成,可以再客户端调用 if(xhr.readyState == 4){ // status状态码分类: // 1xx:服务器收到请求 // 2xx:请求成功 // 3xx:重定向 // 4xx:客户端错误 // 5xx:服务端错误 if(xhr.status == 200){ // 常见状态: // 200:成功 // 301:永久重定向 // 302:临时重定向 // 304:资源未被修改 // 404:资源未找到 // 403:没有权限 // 500:服务器错误 // 504:网关超时 alert(xhr.responseText) } } } xhr.send(null) xhr.open('POST','/api',false) const postData={ userName:'zhangsan', password:'abc123' } xhr.send(JSON.stringify(postData)) </script> </body> </html>
考点:
1、XMLHttpRequest的使用2、XMLHttpRequest状态码3、常见请求状态码
赞 (0)