zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    c学习第6天
    c学习第5天
    c学习第4天
    c学习第1天
    20171009/20171010/20171011
    20171010
    20171008
    20171007
    20171006
    matrix
  • 原文地址:https://www.cnblogs.com/Alex-Song/p/12197234.html
Copyright © 2011-2022 走看看