axios(二)

简介: 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])

在使用别名方法时, urlmethoddata 这些属性都不必在配置中指定。

请求配置

axios库请求提供了配置对象,在该对象中可以设置很多选项,常用的是urlmethodheadersparams,如果没有指定 method,请求将默认使用 get 方法。

完整的选项:

  • baseURL:将自动加在url前面,为axios实例设置一个baesURL,就可以将相对URL传递给该实例的方法
  • url:  用于请求服务器的URL
  • method:是发起请求时使用的请求方法
  • 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` 时,必须是以下类型之一: stringplain objectArrayBufferArrayBufferViewURLSearchParams   , 浏览器专属:FormDataFileBlob  ,Node 专属: Stream  
  • timeout:指定请求超时的毫秒数,默认是0,表示无超时时间,如果请求耗费的时间超过了timeout则请求被终止
  • withCredentials:false 表示跨域请求是否需要使用凭证
  • adapter:function(config){} 允许自定义处理请求,以使测试更加容易,返回一个promise并提供一个有效的响应
  • author:{} 表示应该使用http基础验证,并提供凭据,这将设置一个Authorization报头,覆盖使用headers设置的现有的Authorization自定义报头
  • responseType:'json'表示服务器响应的数据类型,可以是:arraybufferblobdocumentjsontextstream,默认是json
  • responseEncoding:' utf8' 表示用于解码响应数据的编码 ,对于stream响应类型将忽略,默认是utf8
  • xsrfCookieName:‘XSRF-TOKEN’ 是用作xsrf -token值的cookie的名称 默认是XSRF-TOKEN
  • xsrfHeaderName:'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,如果两者都指定则使用socketPath
  • httpAgent: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
目录
相关文章
|
XML JSON 前端开发
Axios的特点
Axios的特点
64 0
|
3月前
|
JSON JavaScript 前端开发
axios浅析(一)
 axios 是一个轻量的 HTTP客户端 基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。自Vue2.0起,尤大宣布取消对 vue-resource 的官方推荐,转而推荐 axios。现在 axios 已经成为大部分 Vue 开发者的首选。
|
6月前
|
JSON 前端开发 JavaScript
axios的详细使用
axios的详细使用
172 1
|
6月前
|
XML 存储 JSON
Axios
Axios
52 0
|
6月前
|
JSON 前端开发 API
axios使用
axios使用
|
6月前
|
存储 设计模式 JSON
快速理解 Axios
快速理解 Axios
65 0
|
6月前
|
前端开发 JavaScript
Axios有哪些常用的方法?
Axios有哪些常用的方法?
72 0
axios详解
axios详解
83 0
|
JSON JavaScript 前端开发
axios的简单的使用
axios的简单的使用
62 0
|
JSON JavaScript 前端开发
axios是什么
axios是什么
166 1