vue用get请求,一个很奇怪的现象

页面长这样:

clipboard.png

打印出来的是选中的id

点击“确定”后,我向后端发送一个get请求

this.$axios.get('/crossSchool',{
    params:{
        itemUid:this.value_item,
        schoolUids:this.value_school,
        gradeUid:"",
        collectionUid:this.common.getLocal('planId'),
    }
})
.then(res=>{
    if(res.data.code == 1){
        console.log(res);
    }
})

F12用浏览器查看请求:

clipboard.png

很奇怪的现象,选中多少条id,就会多出多少个schoolUids字段 这是什么情况啊?


补充,html代码:

<el-dialog title="添加对比学校" :visible.sync="dialog_info" width="500px">
    <el-checkbox-group v-model="value_school">
        <el-checkbox 
            v-for="item in list_school"
            :label="item.schoolUid" 
            class="checkbox" 
            :key="item.schoolUid">
            {{item.schoolName}}
        </el-checkbox>
    </el-checkbox-group>
    {{value_school}}
    <div class="submit">
        <el-button @click="dialog_info = false">取消</el-button>
        <el-button type="primary" @click="dialog_info = false,countSchool()">确定</el-button>
    </div>
</el-dialog>

阅读 4.3k
3 个回答

这是你直接传递数组导致的。改为拼接字符串或者传递json字符串即可(json转化-》 JSON.stringify(arr))

schoolUids:this.value_school你直接传递的参数是数组,解析时会出问题,改为拼接字符串就可以了,
schoolUids:this.value_school.join(',')

Element-ui 多选 v-model 绑定的是一个数组。所以如果你需要的是字符串的话,转换一下就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题