一、需求:下拉列表筛选显示对应的数据
二、应用到的组件:
dropDown下拉菜单:https://ext.dcloud.net.cn/plugin?id=2650
mescroll:http://www.mescroll.com/uni.html  
三、前端代码
uni.request只能传递字符串,但是e.contentActiveIndexList是json对象。将json数据转换为字符串,才能采用uni.request将数据传送到后台。
async onItemSelect(e){  
    this.course_select = JSON.stringify(e.contentActiveIndexList);        //将json数据转换为字符串,才能采用uni.request    
        this.upCallback(this.page);  
},  
let res = await this.$myHttp.post({  
        url: this.$myHttp.urlMap.course_select,  
        data: {  
            course_select: this.course_select,  
        },  
        needLogin: true  
})
转换后发数据形式是:{"headerIndex":0,"index":0},{"headerIndex":1,"index":2},{"headerIndex":2,"index":0}
四、PHP后端代码
再到后台接收数据时变成了这种形式:{"headerIndex":0,"index":0}
需要用到php的htmlspecialchars_decode()函数进行转义
以下代码可以获取到第一组数据的index的值:
json_decode(htmlspecialchars_decode($course_select), true)["0"]["index"]  
五、参考文档
https://www.w3schools.com/js/js_json_stringify.asp
http://www.edbiji.com/doccenter/showdoc/4/nav/307.html
https://blog.csdn.net/milli236/article/details/79042713  
有更好的思路吗?:)
            
            
            
            
0 个评论
要回复文章请先登录或注册