AJAX学习笔记2以及Promise写法

JS如何设置HTTP请求和获取响应部分

  1. http协议请求
GET /xxx http/1.1
Content-Type: x-www-form-url-encoded

2.设置第一个部分

request.open('GET','/xxx')

3.设置第二部分

request.setRequestHeader('yjq','18')

4.设置第四部分

request.send("username=yjq")

5.获取响应http状态码和状态信息

request.status/request.statusText

6.获取第二部分:响应头

request.getResponseHeader()
request.getAllResponseHeaders()
  1. 获取响应体
request.responseText

仿照jQuery包装一个AJAX函数。

window.jQuery.ajax = function(url,method,body,success,fail){
            let request = new XMLHttpRequest()
            request.open(method,url)
            request.send(body)
            request.onreadystatechange = function(){
                if(request.readyState === 4){
                    if(request.status >=200 && request.status < 300){
                        success(request.responseText)
                    }else if(request.status >= 300){
                        let string = request.responseText
                        fail()
                    }
                }
            }
        }
  1. 优化代码的小技巧:
    给函数的参数用对象传进来
  2. 获取传入的参数`arguments
  3. 回调:callback`
  4. 结构化编程:1.顺序执行2.ifesle3.遍历循环
  5. ES6语法:let {a,b,c,d} = object
  6. Promise
function xx(){
    return new Promise(function(resolve,reject)){
        // 这里写你的代码
    }
}

调用的时候

xx().then(success,fail)
// success表示调用成功后执行的函数,也就是定义函数用的solve
// fail表示失败后执行的函数,也就是定义函数时用的reject
xx().then(success,fail).then(success,fail)
// 第二次then传入的参数是上一次处理的结果

你可能感兴趣的:(AJAX学习笔记2以及Promise写法)