关键代码
function Ajax(type,url,data){
return new Promise(function(resolve, reject){
let ajax = new XMLHttpRequest();
ajax.timeout = 3000
if(type === 'get'){
let params = ''
Object.keys(data).forEach(function(key){
params += '&' + key + '=' +data[key]
})
params = params.replace('&','?')
ajax.open(type,url+params,true)
ajax.send()
}else{
ajax.open(type,url,true)
ajax.setRequestHeader('content-type','application/json')
ajax.send(JSON.stringify(data))
}
ajax.ontimeout = function (e) {
// XMLHttpRequest 超时。在此做某事。
reject('请求超时,请稍后再试!')
};
ajax.onreadystatechange = function(){
if(ajax.readyState === 4){
let ajaxStatus = ajax.status
if(ajaxStatus !== 200){
reject('请求失败,请稍后再试!')
}else{
resolve(ajax.responseText)
}
}
}
})
}
export default {
Ajax
}
引用
<script type="module">
import request from './request.js'
function Ajax_test (){
return request.Ajax('post','login',{user: 7777,pass: 44444})
}
</script>