Promise简单封装原生ajax
导入使用处
<script type="module">
import ajax from './js/ajax.js'
ajax("https://api.it120.cc/yaojie/shop/goods/detail","get",{id:400537}).then(res=>{
console.log(res)
}).catch(res=>{
console.log(res)
})
</script>
js代码
const ajax = (url,method="get",data={})=>{
return new Promise((resove, reject)=>{
let str = "?"
for(let i in data){
str += i + '=' + data[i] + "&"
}
url = url+str
let xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ActiveXObject("microsoft.XMLHttp")
xhr.open(method,url)
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send()
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if(xhr.status == 200){
resove(JSON.parse(xhr.responseText))
}else{
reject('请求失败')
}
}
}
})
}
export default ajax