todolist:
- 总结axios笔记,不会的再问一下
- 看书http
记录:
1、使用axios发送请求
async qingqiu () {
await this.$http.post('http://lego-analysis-server.dev.hikhub.net/api/setVisit')
.then(function (response) {
console.log(this)
this.message = response.data.message
}.bind(this)) //这里之前一直是undefined是因为this指向的问题,因为我用的普通函数,它指向window,所以要么使用箭头函数,要么用bind改变它的this指向
.catch(function (error) {
console.log('请求失败' + error);
});
}
用axios的时候因为this指向的问题出了错误
记得用箭头函数
async qingqiu () {
await this.$http.post('http://lego-analysis-server.dev.hikhub.net/api/setVisit')
.then((response)=> {
console.log(this)
this.message = response.data.message
}) //这里之前一直是undefined是因为this指向的问题,因为我用的普通函数,它指向window,所以要么使用箭头函数,要么用bind改变它的this指向
.catch((error)=> {
console.log('请求失败' + error);
});
}
}
2、拉取远端代码,建立本地分支,并且和远端的分支关联:
git fetch origin 分支名 //拉取远端分支
git checkout -b 分支名 origin分支名 //在本地创建一个分支并且和远端的分支相互关联
3、axios默认配置方法:
axios.defaults.baseURL = 'https://api.example.com'; //设置基础url
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
import axios from 'axios';
//axios创建实例对象
const http = axios.create({ //里面的参数为配置对象
baseURL: process.env.VUE_APP_CONTEXT,
timeout: 30000,
withCredentials: true,
headers: { 'X-Requested-With': 'XMLHttpRequest' }
});
//创建出来的http与axios功能几乎一样
4、axios携带参数get和post请求
get请求:
//get请求
axios.get(url[,config])
axios.get('www.baidu.com',{params:{id:1}})
axios.get('www.baidu.com?id=1')
get方法第二个参数是请求配置,它就是一个对象
可以在这些;里面选取进行配置
{
// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
baseURL: 'https://some-domain.com/api/',
// `transformRequest` 允许在向服务器发送前,修改请求数据
// 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
// 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
transformRequest: [function (data, headers) {
// 对 data 进行任意转换处理
return data;
}],
// `transformResponse` 在传递给 then/catch 前,允许修改响应数据
transformResponse: [function (data) {
// 对 data 进行任意转换处理
return data;
}],
// `headers` 是即将被发送的自定义请求头
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` 是即将与请求一起发送的 URL 参数 get请求方法
// 必须是一个无格式对象(plain object)或 URLSearchParams 对象
params: {
ID: 12345
},
// `data` 是作为请求主体被发送的数据
// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
// 在没有设置 `transformRequest` 时,必须是以下类型之一:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - 浏览器专属:FormData, File, Blob
// - Node 专属: Stream
data: {
firstName: 'Fred'
},
// `timeout` 指定请求超时的毫秒数(0 表示无超时时间)
// 如果请求话费了超过 `timeout` 的时间,请求将被中断
timeout: 1000,
// `withCredentials` 表示跨域请求时是否需要使用凭证
withCredentials: false, // default
}
post请求:
axios.post('www.baidu.com',{id:1})
第二个参数就是可以携带的数据,直接这样写
axios.post(url[, data[, config]])