axios(二)
axios 的请求方式:
axios.request(config)
axios.get(url [,config])
axios.post(url [,data [,config]])
axios.put(url [,data [,config]])
axios.delete(url [,config])
axios.patch(url [,data [,config]])
axios.head(url [,config])
axios.options(url[,config])
在使用别名方法时, url
、method
、data
这些属性都不必在配置中指定。
请求配置
axios 库请求提供了配置对象,在该对象中可以设置很多选项,常用的是url
、method
、headers
和params
,如果没有指定 method
,请求将默认使用 get
方法。
完整的选项:
baseURL:
将自动加在 url 前面,为 axios 实例设置一个 baesURL,就可以将相对 URL 传递给该实例的方法url:
用于请求服务器的 URLmethod:
是发起请求时使用的请求方法transformRequest:[function(data,headers){ }]
允许在将请求数据发送到服务器前对其进行修改,只能用于 put、post、和 patch 这几个请求方法,数组中的函数必须返回一个字符串、buffer 的实例、ArrayBuffer 或 Stream,也可以修改 headers 对象transformResponse:[function (data){}]
允许在将响应数据传递给 then/catch 之前对其进行更改headers:{'X-Requested-With':'XMLHttpRequest'}
是发送的自定义请求头params:{id:111}
params 是与请求一起发送的 url 参数,必须是一个普通对象(plain object)或URLSearchParams
对象paramsSerializer: function(params) { return Qs.stringify(params, {arrayFormat: 'brackets'}) }
是一个负责 `params` 序列化的函数 , (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)data: { }
`data` 是作为请求主体被发送的数据 ,只适用于这些请求方法 'PUT
', 'POST
', 和 'PATCH
' ,在没有设置 `transformRequest
` 时,必须是以下类型之一:string
、plain object
、ArrayBuffer
、ArrayBufferView
、URLSearchParams
, 浏览器专属:FormData
、File
、Blob
,Node 专属:Stream
timeout:
指定请求超时的毫秒数,默认是 0,表示无超时时间,如果请求耗费的时间超过了timeout
则请求被终止withCredentials:false
表示跨域请求是否需要使用凭证adapter:function(config){}
允许自定义处理请求,以使测试更加容易,返回一个promise
并提供一个有效的响应author:{}
表示应该使用 http 基础验证,并提供凭据,这将设置一个Authorization
报头,覆盖使用headers
设置的现有的Authorization
自定义报头responseType:'json
'表示服务器响应的数据类型,可以是:arraybuffer
、blob
、document
、json
、text
、stream
,默认是json
responseEncoding:' utf8'
表示用于解码响应数据的编码 ,对于 stream 响应类型将忽略,默认是 utf8xsrfCookieName:‘XSRF-TOKEN’
是用作 xsrf -token 值的 cookie 的名称 默认是 XSRF-TOKENxsrfHeaderName:'X-XSRF-TOKEN'
是携带 xsrf token 值的 http 报头的名字onUpkoadProgress:function(progressEvent){}
允许为上传处理进度事件onDownloadProgress:function(progressEvent){}
允许为下载处理进度事件maxCOntentLength:2000
定义允许的响应内容的最大大小(以字节为单位)validataStatus:function(status){
return status>=200 && status<300}
定义对于给定的 http 响应状态码是解析(resolve)还是拒绝(reject)这个 promise,如果 validataStatus 返回 true(或者设置为 null 或 undefined),promise 将被解析(resolve),否则 promise 将被拒绝(reject)
maxRedirects:5
定义在 node.js 中 follow 的最大重定向数目,如果设置为 0,将不会 follow 任何重定向siketPath:null
定义要在 node.js 中使用的 nuix 套接字,只能指定 socketPath 或 proxy,如果两者都指定则使用 socketPathhttpAgent:new http.Agent({keepAlive:true})
||httpsAgent:new http.Agent({keepAlive:true})
这两个用于定义在 node.js 执行 http 和 https 时要使用的自定义代理,允许配置类似 keepAlive 的选项,keepAlive 默认没有启用proxy:{
host:'127.0.0.1',
port:9000,
auth:{
}
}
定义代理服务器的主机名和端口,auth 表示 http 基础验证应当用于连接代理,并提供凭据,这将会设置一个 Proxy-Authorization 报头,覆盖使用 headers 设置的任何现有的自定义 Proxy-Authorization 报头
cancelToken:new CancelToken(function (cancel){})
知道用于取消请求 cancel token
评论