我要投稿
投诉建议
首页
Web前端
后端技术
数据应用
编程语言
其他语言
技术落地
科技领域
SEO
科技迭代
当前位置:
首页
>
Web前端
>
vue.js
vue全家桶(3.2)
时间:2023-03-31 16:32:54
vue.js
4.5.创建实例可以创建一个自定义实例来应用于多个请求接口
中的相关配置instance:{//`url`是用于请求的服务器URLurl:'/user',//`method`是创建请求时使用的方法method:'get',//默认是get//`baseURL将自动添加到url之前,除非url是绝对URL。//通过设置一个`baseURL`可以方便地将相对URL传递给axios实例的方法baseURL:'https://some-domain.com/api/',//`transformRequest`允许修改之前的请求发送给服务器Data//只能在'PUT','POST'和'PATCH'的请求方法中使用//下面数组中的函数必须返回一个字符串,或者ArrayBuffer,或者StreamtransformRequest:[function(data){//对数据返回数据进行任意变换处理;}],//`transformResponse`允许在传递给then/catch之前修改响应数据transformResponse:[function(data){//对数据返回数据进行任意转换处理;}],//`headers`是要发送的自定义请求标头headers:{'X-Requested-With':'XMLHttpRequest'},//`params`是要随请求一起发送的URL参数//必须是A普通对象或URLSearchParams对象params:{ID:12345},//`paramsSerializer`是负责序列化`params`的函数//(例如https://www.npmjs.com/package/qs,http://api.jquery.com/jquery.param/)paramsSerializer:function(params){returnQs.stringify(params,{arrayFormat:'brackets'})},//`data`作为请求体被发送的数据//只适用于'PUT','POST',和'PATCH'这几个请求方法//当没有设置`transformRequest`时,它必须是以下类型之一://-string,plainobject,ArrayBuffer,ArrayBufferView,URLSearchParams//-特定于浏览器:FormData,File,Blob//-特定于节点:流数据:{firstName:'Fred'},//`timeout`指定毫秒数请求超时(0表示不超时)//如果请求超过`timeout`,请求将被中断timeout:1000,//`withCredentials`表示跨域请求是否需要凭据withCredentials:false,//默认//`adapter`允许自定义处理请求,使测试更容易//返回一个承诺并应用一个有效的响应(参见[responsedocs](#response-api))。adapter:function(config){/*...*/},//`auth`表示应该使用HTTP基本身份验证,并提供凭据//这将设置一个`Authorization`标头,覆盖任何现有的自定义`Authorization`setusing`headers``Headerauth:{username:'janedoe',password:'s00pers3cret'},//`responseType`表示服务器响应的数据类型,可以是'arraybuffer','blob','document','json','text','stream'responseType:'json',//默认//`xsrfCookieName`是用作xsrf令牌值的cookie的名称xsrfCookieName:'XSRF-TOKEN',//默认//`xsrfHeaderName`是xsrf承载的名称令牌值的HTTP标头的名称xsrfHeaderName:'X-XSRF-TOKEN',//默认//`onUploadProgress`允许允许处理上传的进度事件onUploadProgress:function(progressEvent){//processingofnativeprogressevents},//`onDownloadProgress`允许处理下载的进度事件onDownloadProgress:function(progressEvent){//processingofnativeprogressevents},//`maxContentLength`定义允许的响应内容的最大大小maxContentLength:2000,//`validateStatus`定义如果`validateStatus`返回`true`(或设置为`null`或`undefined`),promise将被解析;否则,promise将被拒绝validateStatus:function(status){returnstatus>=200&&status<300;//默认},//node中定义的`maxRedirects`.js中要遵循的最大重定向数//如果设置为0,则不会遵循任何重定向maxRedirects:5,//默认值//`httpAgent`和`httpsAgent`用于在node.js中定义自定义代理,以便在执行http和https时使用。允许配置这样的选项://默认情况下不启用`keepAlive`httpAgent:newhttp.Agent({keepAlive:true}),httpsAgent:newhttps.Agent({keepAlive:true}),//'proxy'定义一个代理服务器//`auth`表示应该使用HTTP基本身份验证来连接到代理,并提供凭据//这将设置一个`Proxy-Authorization`标头,覆盖任何使用`header`设置的现有标头Custom`Proxy-Authorization`标头。proxy:{host:'127.0.0.1',port:9000,auth::{username:'mikeymike',password:'rapunz3l'}},//`cancelToken`指定用于取消请求的取消令牌//(参见下面的取消部分了解更多)cancelToken:newCancelToken(function(cancel){})}我们选择两个选项例如:1.timeout,设置超时时间,如果请求超过设置的时间,请求将被interruptedconstHTTP=axios.create({baseURL:'https://easy-mock.com/mock/5c23887d3671d47be5ea8d66/axiosdemo',timeout:10})请求超过10毫秒就会中断2.headers用于设置请求constHTTP=axios.create({baseURL:'https://easy-mock.com/mock/5c23887d3671d47be5ea8d66/axiosdemo',timeout:1000,headers:{'name':'xiaoqiang'}})4.6.Interceptor拦截器的作用是让我们在then或者catch中处理请求或者响应之前做一些事情
上一篇:
vue3在element-plus中使用自定义命令clickOutside解决需要点击外面自动关闭
下一篇:
vue中destroyed方法的使用
vue全家桶(3.2)相关文章
最新推荐
猜你喜欢