1 Star 1 Fork 0

芦禹棠/axjx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
原生ajax封装.js 1.57 KB
一键复制 编辑 原始数据 按行查看 历史
芦禹棠 提交于 2020-11-04 17:53 . first commit
// 封装
/*
公共部分以及参数设置
*/
function ajax(params) {
// 判断必填项
if (!params.url) {
alert("请务必传入url地址");
return;
}
// 给参数赋默认值
params = Object.assign({
method: "GET",
data: null
}, params);
// 将方式改成大写
params.method = params.method.toUpperCase();
var xhr = new XMLHttpRequest();
xhr.onload = function() {
var rt = JSON.parse(xhr.responseText);
params.success(rt);
}
xhr.onerror = function() {
// 总结原因
params.error(xhr.statusText);
}
// 将对象转成form格式 {name:value,name:value} => name=value&name=value 参数序列化
if (params.data) {
var str = "";
for (var i in params.data) {
str += `&${ i }=${ params.data[i] }`;
}
// console.log(str);
str = str.slice(1);
}
// 如果是GET请求,且用户传了data参数
if (params.method == "GET" && params.data) {
xhr.open("GET", params.url + "?" + str);
} else {
xhr.open(params.method, params.url);
}
// 如果是POST请求,默认将参数类型设置为form形式
if (params.method == "POST") {
xhr.setRequestHeader("content-type", params.contentType || "application/x-www-form-urlencoded");
}
xhr.send(params.data && str);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/luyutang/axjx.git
git@gitee.com:luyutang/axjx.git
luyutang
axjx
axjx
master

搜索帮助