axios.js基础篇

这些是创建时可以配置的选项。只有url是必须的。如果没有指定method,请求将默认使用get方法。
{
//url是用于请求服务器URL
url: ‘/user’,
method: ‘get’,
//baseURL将自动加在url前面,除非url是一个绝对地址
baseURL: ‘https://some-demo.com/api/’,
//transfoorm允许在向服务器发送前,修改请求数据
//只能用在put、post和patch这几个方法
//后面数组中的函数必须返回一个字符串,或ArrayBuffer,或Stream
transformRequest: [function(data, headers){
return data
}],
//transformResponse允许在传递给then/catch之前,修改响应数据
transformResponse: [function(data){
return data
}],
//headers是即将被发送的自定义请求头
headers: {
‘X-Requested-with’: ‘XMLHttpRequest’
},
//params是URL上的参数,必须是一个无格式对象或URLSearchParams
params: {
name: ‘mm’
},
//paramsSerializer是一个负责params序列化的函数
paramsSerializer: function(params) {
return Qs.stringify(params, {arrayFormat: ‘brachets’})
},
//data是作为请求主体被发送的数据,只适用于put、post、patch
//在没有设置transformRequest时,必须是以下类型之一:
//string、plain object、ArrayBuffer、ArrayBufferView、URLSearchParams
//浏览器专属:FormData、File、Blob
//Node专属:Stream
data: {
firstName: ‘mm’
},
//timeout指定超时的毫秒数,如果超时,则请求中断
timeout: 10*1000,
//withCredentials表示跨域请求时是否需要使用凭证
withCredentials: false,
//adapter允许自定义处理请求,以使测试更轻松
adapter: function(config){},
//auth表示应该使用HTTP基础验证,并提供凭据
//这将设置一个Authorization头,覆写现有的任意使用 headers设置的自定义Authorization头
auth: {
username: ‘mm’,
password: ‘yohn’
},
//表示服务器响应的数据类型,可以是ArrayBuffer、blob、document、json、text,stream
responseType: ‘json’, //default
responseEncoding: ‘utf8’,
xsrfHeaderName: ‘X-XSRF-TOKEN’, //default
//允许为上传处理进度事件
onUploadProgress: function(event){},
//允许为下载处理进度事件
onDownloadProgress: function(event){},
//maxContentLength定义允许的响应内容的最大长度
maxContentLength: 2000,
//validateStatus定义对于给定的HTTP响应状态码是resolve或reject promise。
//如果validateStatus返回true(或者为null或undefined),promise将被resolve,否则,promise将被reject
validateStatus: function(status){
return status >= 200 && status < 300
},
//maxRedirects定义在node.js中follow的最大重定向数目。为0则不会follow任何重定向
maxRedirects: 3,
socketPath: null,
httpAgent: new http.Agent({keepAlive: true}),
httpsAgent: new http.Agent({keepAlive: true}),
proxy: {
host: ‘127.0.0.1’,
port: 8088,
auth: {
username: ‘abc’,
password: ‘faho’
}
},
cancelToken: new CancelToken(function(cancel){})
}

响应结构
{
//data由服务器提供的响应
data: {},
//HTTP状态码
status: 200,
//HTTP状态信息
statusText: ‘OK’
//服务器响应头
headers: {},
//config是为请求提供的配置信息
config: {},
//request: {}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nuxt.js中配置跨域,你需要在nuxt.config.js文件中添加proxy配置。在modules模块中添加'@nuxtjs/proxy',并在axios配置中设置proxy为true。然后在proxy对象中添加一个匹配路径的规则,设置changeOrigin为true,target为允许跨域的服务器地址,并使用pathRewrite来重写路径。具体配置可以参考以下示例代码: ``` modules: [ '@nuxtjs/axios', '@nuxtjs/proxy' ], axios: { proxy: true }, proxy: { '/api': { changeOrigin: true, target: 'http://127.0.0.1:8082', pathRewrite: { '^/api': '' } } } ``` 这样配置后,所有以/api开头的请求都会被转发到http://127.0.0.1:8082这个地址上,实现跨域访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Nuxt.js配置proxy跨域代理以及asyncData使用方法](https://blog.csdn.net/zyxczyf123/article/details/112392436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Nuxt.js 介绍及其使用 ·(一)基础,涵盖跨域介绍](https://blog.csdn.net/Android_boom/article/details/127088039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值