1.回调函数封装ajax思想
ajax:局部刷新技术
### 回调函数
tool("/login",cb)
tool函数一般是执行任务的函数 当这个任务执行完毕时调用传入的cb函数 然后开始运行cb的代码
在这种设计中 cb函数就是我们说的回调函数
### 回调函数来设计一个网络请求工具
tool("/login",cb)
tool函数就是一个简单的封装了ajax请求的工具
在tool内部 去用ajax请求传入的第一个参数"/login"对应网址
当请求返回数据时 就把数据传给cb函数使用(调用cb)
function tool(url, cb) {
var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft.XMLHTTP")
xhr.open("GET", url, true)
xhr.send()
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
// console.log(xhr.responseText)
//写页面
cb(xhr.responseText)
}
}
}
tool("/login",cb)
console.log(111)
2.promise封装ajax
function myaxios(url) {
return new Promise((resolve, reject) => {
try {
//3种情况: 语法错误,语法正确但是会产生错误的业务数据或者正确的业务数据
let xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft.XML")
xhr.open("GET", url, true)
xhr.send()
xhr