JS 操作请求与响应
客户端的JS发起请求(浏览器上的)
使用XMLHttpRequest
的setRequestHeader
修改请求头的第二部分
使用send
修改请求头第四部分
使用getAllResponseHeaders
获取全部的响应头
使用getResponseHeader
获取响应头第二部分
使用statusText
获取到响应状态是否 OK
使用responseText
获取响应头第四部分AJAX 设置请求
第一部分 request.open(‘get’, ‘/xxx’);
第二部分 request.setHeader(‘ContentType’, ‘x-www-form-urlencodeed’);
第四部分 request.send(‘a=1&b=2’);AJAX 设置响应
第一部分 request.status / request.statusText
第二部分 request.getResponseHeader() / request.getAllResponseHeaders()
第四部分 request.responseText服务端的JS发送响应(Node.js上的)
待续
自己实现 jQuery.ajax
就是对 ajax 的封装,代码如下
window.jQuery.ajax = function(url, method, body, success, fail) { |
ES 6 语法之解构赋值
比如有这样的赋值
let method = options.method |
在 ES 6 中是这样赋值的
// 析构赋值 |
跟 python
一些语法有点像
又例如
// ES5 |
promise
一个确定函数形式的 规范
function success(responseText) { |
这样一来就不用管成功或者是失败用的函数名是什么了
myButton.addEventListener('click', (e)=> { |
以上就是对同一个状态进行多次处理
在自己写的 ajax 里面添加
window.jQuery.ajax = function({url, method, body, headers}) { |
这是 window
下的一个全局属性叫 Promise
那么如何调用呢
myButton.addEventListener('click', (e)=> { |
而 Promise
的源码大致是这样的
window.Promise = function(fn) { |
注意,假设有这样的一个 Promise
对象 xxx
,在调用 then
的时候出现以下情况
xxx() |
fn3 是在 fn1 以及 fn2 都没有问题的情况下调用
fn4 是在 fn1 或者 fn2 有问题的情况下调用