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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM