发表于: 2020-07-15 21:16:32
1 2353
今日完成:
调了下样式
...
总结;
axios请求可以写成:
methods:{
axios.get/post('参数一url:xxx',{参数二config},{参数三})
}
1.参数一即url必填,表示请求地址
2.参数二三根据情况选填,不填时{}也可以省略
3.参数二是配置信息,配置信息中有两个常用的params和headers(请求头),
params和headers是网络请求get配置项里的固定的属性,属性名是不可变的,属性名中的属性值是可改的
3.1.params表示传递到服务器端的数据,以url参数的形式拼接到请求地址后面
如:http://api.xxx/xx如果这个接口的中的数据格式是{page:1,per:3},最终生成的url地址:
http://api.xxx/xx?page=1&per=3
写成请求代码:
axios.get("http://api.xxx/xx",{
params:{
page:3,
per:2
},
headers:{}
})
如上所示,参数二可以是一或多组的对象,这里用固定属性或自定义属性,这里params和headers都是固定属性,有固定的含义,
它的值也可以是对象,具体根据需求自定义,如这里page:3显示第三页的数据,per:2每页显示两条,任务中的接口返回的每页展示数量是用size显示,
per就改成size,默认返回size是10
...
结合昨天的想法写出来
遇到问题:
请求参数
axios.get('/carrots-admin-ajax/a/article/search',
axios.get('/carrots-admin-ajax/a/article/search',
//参数一表示请求地址
{
params:{
page:1,//默认值,默认显示第一页
size:10,//默认值,默认每页显示10条
}
}
data() {
return{
size:null,
this.size = res.data.data.size
得到数据中默认的size值
在html中显示每页个数
<input id="aa" type="text" :value="size">
初始就显示默认值,绑定在一起:value="size"
遇到问题1:
加上v-model="size"报错
v-model双向数据绑定,可能与:value冲突了删除:value="size"显示正常
遇到问题2:
自己在代码中改变页数,能显示正确页面,但直接改变输入框的值,;页面却没有改变
原因:页面上的size应该是改变了,但应该在提交这个改变的值到服务器,改变服务器的数据
评论