原生实现ajax

在这里将get和post请求用原生实现ajax稍做整理。
在此之前先了解一下方法

xhr.open(method,url,async)

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)

onreadystatechange事件

  • 当请求被发送到服务器时,我们需要执行一些基于响应的任务。

  • 每当 readyState 改变时,就会触发 onreadystatechange 事件。

  • readyState 属性存有 XMLHttpRequest 的状态信息。

readyState

  • 0: 请求未初始化

  • 1: 服务器连接已建立

  • 2: 请求已接收

  • 3: 请求处理中

  • 4: 请求已完成,且响应已就绪

status http状态码

  • 200: “OK”
  • 404: 未找到页面

get请求

var xhr=new XMLHttpRequest();//实例化
xhr.open('get','/abc?username=lili',true);
xhr.send();				//将请求发送到服务器
xhr.onreadystatechange=function(){
    if(xhr.readyState===4){
        if(xhr.status===200){
            $('.h1').html(xhr.responseText);
        }else{
            $('.h1').html('ERROR');
        }
    }
}

post请求

var xhr=new XMLHttpRequest();
xhr.open('post','/abc',true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send('username=weiwei&age=19');
xhr.onreadystatechange=function(){
    if(xhr.readyState===4){
        if(xhr.status===200){
            console.log(JSON.parse(xhr.responseText));
        }else{
            console.log('ERROR');
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值