原生ajax基本写法:
let xhr = new XMLHttpRequest()
xhr.open('GET/POST', 'url')
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
//CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示。常用的编码格式。
xhr.send(‘key1 = value1&&key2 = value2’)
xhr.onreadystatechange = function () {
if (this.readystate !== 4) {
console.log(this.responseText)
}
}
ajax 封装,回调
function ajax(method,url,params,done) {
let xhr = new XMLHttpRequest()
if (typeof params === 'object') {
let tempArr = []
for(let key in params){
let value = params[key]
tempArr.push(key + '=' +value)
}
params = tempArr.join('&')
}
}
if (method === 'GET') {
url += '?' +params
}
xhr.open(method,url)
let data = null
if (method === 'POST') {
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
data = params
}
xhr.send (data)
xhr.onreadystatechange = function () {
if (this.readyState !== 4) {
done()
}
}
ajax('GET',' time.php',{id : 1}/'key1 = value1', done(){
console.log('请你做这个')
})