【XMLHttprequest】手写一个简易的ajax

GET 请求
// 创建XMLHttpRequest对象
const xhr=new XMLHttpRequest()
// 创建一个 get 请求,true 采用异步
xhr.open('GET','./test.json',true)
xhr.onreadystatechange=function(){
    if (xhr.readyState === 4) {
        if (xhr.status=== 200) {
            alert(xhr.responseText)
        }
    }
}
//发送请求
xhr.send(null)
POST 请求
// 创建XMLHttpRequest对象
const xhr = new XMLHttpRequest()
// 创建一个 get 请求,true 采用异步
xhr.open('POST', './test.json', true)
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            alert(xhr.responseText)
        }
    }
}
//发送请求
const postData={
    userName:'zhangsan',
    password:'xxx'
}
xhr.send(JSON.stringify(postData))//发送格式为json字符串
XMLHttpRequest的readyState和status
xhr.readyState

0: 请求未初始化: 还没有调用 open()。
1: 请求已经建立: 但是还没有发送, 还没有调用 send()。
2: 请求已发送: 正在处理中( 通常现在可以从响应中获取内容头)。
3: 请求在处理中: 正在解析响应内容
4: 响应已完成: 内容解析完成,可以在客户端调用

xhr.status

1 xx - 信息提示.
2 xx - 成功 服务器成功地接受了客户端请求.
3 xx - 重定向,浏览器直接跳转
4 xx - 客户端错误 (客户端请求不存在的页面,客户端未提供有效的身份验证信息。).
5 xx - 服务器错误 服务器由于遇到错误而不能完成该请求.

常见

200 - OK 一切正常,对GET和POST请求的应答文档跟在后面.
300 - Multiple Choices 客户请求的文档可以在多个位置找到.
301 - Moved Permanently 永久重定向.
302 - Found 临时重定向.
304 - Not Modified 资源未改变,使用缓存的资源.
400 - Bad Request 请求出现语法错误。
403 - Unauthorized 没有权限访问,访问被拒绝.
404 - Not Found 请求地址有错误.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值