阿贾克师
一朋友出去面试回来对我说面试情况,他说面试官问阿贾克师,当时老懵逼了,what ?阿贾克师?(原谅我们年少时候的无知😢)。自此阿贾克师就成为我们一群人的ajax代名词。细想其实也没错吧!本来就念阿贾克师嘛。
AJAX = Asynchronous JavaScript and XML(异步JavaScript和XML)
先上一段原生ajax压压惊:
function CreatXmlHttp() {
const httpRequest = new window.XMLHttpRequest() || new window.ActiveXObject()
httpRequest.open('get', 'http://localhost:3000/adminusers/list', true)
httpRequest.send()
httpRequest.onreadystatechange = () => {
console.log(httpRequest.readyState) // 2 3 4
console.log(httpRequest.status) // 200 200 200
if (httpRequest.readyState === 4 && httpRequest.status === 200)
{
console.log(httpRequest.response)
}
}
}
API
- onabort 用户取消 (function)
- onprogress 返回进度信息 (function) (可用来做进度条)
- onerror 发生错误 (function)
- onload 传输成功完成 (function)
- loadstart 传输开始 (function)
- loadEnd 传输结束 (function)
- readyState:XMLHttpRequest对象的状态,等于4表示数据已经接收完毕。
- status:服务器返回的状态码,等于200表示一切正常。
- responseText:服务器返回的文本数据
- responseXML:服务器返回的XML格式的数据
- statusText:服务器返回的状态文本。
在来看看上面的的输出结果:
console.log(httpRequest.readyState) // 2 3 4
console.log(httpRequest.status) // 200 200 200
为什么会这样?这就是我们要来说道说道的东西了..(明天再说了)