Files
pte/h5/js/http/index.js
2024-09-27 01:31:25 +08:00

59 lines
2.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* ajax代码的封装
* @param {*} params
*/
function ajax(params) {
return new Promise(function (resolve, reject) {
// 显示加载进度条
Tips.loading()
// 拿出电话创建一个新的ajax对象
var ajax = new XMLHttpRequest();
ajax.timeout = 10000
// 如果是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)
}
// 设置电话号码
// 是否异步
ajax.open(params.methods, Config.BaseUrl + params.url, true)
// 如果是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 || data.code == 200) {
// 关闭进度条
Tips.close()
resolve(data.result || data)
} else {
Tips.toast(data.msg || data.error)
throw new Error(data.msg || data.error);
}
} else {
Tips.toast("网络故障,稍后再试..")
// reject("数据请求失败,稍后再试")
}
}
}
})
}