52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
function ajax(params) {
|
||
|
||
// 拿出电话(创建一个新的ajax对象)
|
||
var ajax = new XMLHttpRequest();
|
||
|
||
// 如果是GET请求特殊处理一下参数
|
||
if (params.methods == "GET") {
|
||
var par = ""
|
||
for (const key in params.data) {
|
||
par += `&${key}=${params.data[key]}`
|
||
}
|
||
params.url = params.url + "?" + par.substr(1)
|
||
console.log(params.url);
|
||
}
|
||
|
||
// 设置电话号码
|
||
// 是否异步
|
||
ajax.open(params.methods, params.url, params.async)
|
||
|
||
// 如果是post请求,那么设置一下post请求的参数用何种数据格式给后端
|
||
// json格式
|
||
if (params.methods == "POST") {
|
||
ajax.setRequestHeader('Content-Type', 'application/json;charset=utf-8')
|
||
}
|
||
|
||
// 拨号
|
||
if (params.methods == "POST") {
|
||
ajax.send(JSON.stringify(params.data));
|
||
} else {
|
||
ajax.send()
|
||
}
|
||
|
||
|
||
|
||
// 监听网络状态,只有网络请求成功的时候才渲染页面,否则显示错误信息
|
||
ajax.onreadystatechange = function() {
|
||
if (ajax.readyState == 4) {
|
||
if (ajax.status == 200) {
|
||
var data = JSON.parse(ajax.responseText);
|
||
if (data.status == 200) {
|
||
params.success(data.data)
|
||
} else {
|
||
params.error(data.msg)
|
||
}
|
||
} else {
|
||
params.error("数据请求失败,稍后再试")
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
} |