vue中get请求动态拼接处理url参数

复制代码
        // 假如我们需要实现下列需求:
        // 数据请求方式是get,参数有四个分别是obj的每个key,
        // 如果key对应的value存在则正常拼接,如果不存在则直接去掉这一项
        // 第一种:
        // 定义一个obj,里面a,c的value为空
        var obj={
            a:"",
            b:2,
            c:"",
            d:4
        }
        // 需要请求的url地址
        var url="aaa/bbb?"
        if(obj.a){
            // 如果obj.a存在,则进行正常拼接
            url=url+'a'+'='+obj.a;
        }
        if(obj.b){
            // 如果obj.a存在,还需要用三目判断前面的key和对应value是否存在
            // 如果存在则需加&,如果不存在则直接拼接
            url=url+(url=='aaa/bbb?'?'b':'&b')+'='+obj.b;
        }
        if(obj.c){
            url=url+(url=='aaa/bbb?'?'c':'&c')+'='+obj.c;
        }
        if(obj.d){
            url=url+(url=='aaa/bbb?'?'d':'&d')+'='+obj.d;
        }


        // 第二种:
        // 定义一个obj,里面a,c的value为空
        var obj={
            a:null,
            b:0,
            c:"",
            d:0
        }
        // 需要进行请求的url地址
        var url="aaa/bbb?"
        遍历整个对象
        for (let key in obj){
            // 如果该项的obj不为空(等于0也可以),并且是第一个不为空的参数时,直接进行拼接,不用加&
            if(url==='aaa/bbb?' && obj[key] || url==='aaa/bbb?' && obj[key]===0){
                url=url+key+'='+obj[key]
        // 如果该项的obj不为空(等于0也可以),但不是第一个不为空的参数时,加&进行拼接
            }else if(url!=='aaa/bbb?' && obj[key] || url!=='aaa/bbb?' && obj[key]===0){
                url=url+'&'+key+'='+obj[key]
            }              
        }
        console.log(url)
复制代码
posted @   Alex-Song  阅读(14010)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示