JS如何设置HTTP请求和获取响应部分
- 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()
- 获取响应体
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()
}
}
}
}
- 优化代码的小技巧:
给函数的参数用对象传进来 - 获取传入的参数`arguments
- 回调:callback`
- 结构化编程:1.顺序执行2.ifesle3.遍历循环
- ES6语法:let {a,b,c,d} = object
- 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传入的参数是上一次处理的结果