ajax的封装

本文介绍了一个简单的AJAX请求实现方法,使用Promise封装了GET和POST请求,并解释了如何设置请求参数、消息头以及处理响应结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function ajax({type,url,data,dataType}){
return new Promise(function(open){
//1.创建异步对象xhr
var xhr=new XMLHttpRequest();
//2.绑定监听事件
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
var result=xhr.responseText;
if(dataType!==undefined
&&dataType.toUpperCase()===”JSON”)
result=JSON.parse(result);
open(result);
}
}
if(typeof data === “object”){
var arr=[];
for(var key in data){
arr.push(key+”=”+data[key]);
}
data=arr.join(“&”);
}
if(type===”get”&&data!==undefined){
url+=”?”+data;
}
//3.打开连接
xhr.open(type,url,true);
//增加消息头
if(type===”post”)
xhr.setRequestHeader(
“Content-Type”,”application/x-www-form-urlencoded”
);
//4.发送请求
if(type===”post”&&data!==undefined)
xhr.send(data);
else
xhr.send(null);
})
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值