AJAX
本质上就是一个封装好的代码
AJAX 的代码怎么写
const { fail } = require("assert")
const ajax = (obj) => {
const { method, path, body, successFn, failFn } = obj //析构赋值
const xhr = new XMLHttpRequest()
xhr.open(method, path)
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status >= 200 && xhr.status < 300) {
// console.log('请求成功,得到内容为:' + xhr.responseText)
successFn(xhr)
} else if (xhr.status >= 400) {
// console.log('请求失败,状态码为:' + xhr.status)
failFn(xhr)
}
}
}
xhr.send(body)
return {
abort: () => {
xhr.abort(); //这里仍然使用了闭包 这里相当于return api 函数外也可以通过这个api来调用函数类的变量
}
}
}
关于AJAX的优缺点
优点
- 1.可以请求任何内容(css data…)
- 2.不需要刷新页面
缺点
- 1.代码难记,但可以是用别人的封装
- 2.不能跨域