传参方式:
get请求方式将需要入参的数据作为 params
属性的值,最后整体作为参数。
传递参数必须用{params:{'name':'111', 'age': '12'}}形式,加parmas。
axios.get(url, {params: params})
.then((data) => {
console.log(data)
})
.catch((error) => {
console.log(error)
})
post:参数直接为对象内容
axios.post(url, qs.stringify(params))
.then(({data: {data, code, message}}) => {
console.log(data.code)
})
.catch((error) => {
console.log(error)
})
其中,params为对象:{'name':'111', 'age': '12'}
qs.stringfy(obj)方法是将vue中axios请求的参数进行序列化。
相关区别:
JSON.parse(用于从一个字符串中解析出json 对象)ps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常
JSON.stringify(用于从一个对象解析出字符串)
qs.parse()将URL解析成对象的形式
qs.stringify()将对象解析成URL的形式,以&进行拼接
如果参数里面要传数组,只需要在qs的方法中设置它的indices为false即可,如:
qs.stringify({ a: ['1', '2', '3'] }, { indices: false });
axios与ajax的区别:
axios是通过promise实现对ajax技术的一种封装。
jQuery实现对ajax的封装。
ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装。axios是ajax ajax不止axios。