GET或者POST请求下的理想传参方式

最近在与后端进入接口调试的时候,有遇见参数非必传的情况(即若有值则传入,否则不传)。刚开始的思路是传了一个空值(null ),但是null在前端是空值,传入接口后其就变成了一个字符串,故此会发生一系列的错误。接口正常却查不到数据,这样子多半是传参问题,最后检查将问题定位到了参数为空这儿。理想传参方式:若是参数有值则将其传入,否则省略(ps:仅限于这些参数不是必传的情况下)。


思路:将参数放入对象里,然后循环此对象,若值不为空,则将其放入新建的对象里,最后将其传入接口。


案列展示

1、接口如图

在这里插入图片描述
2、传参格式

var ajaxData = {
        "planInstallName":planInstallName,
        "compRoomAreaId":compRoomAreaId,
        "compRoomDeptId":compRoomDeptId,
        "compRoomNumId":compRoomNumId
}
// 新建对象,用于存储符合条件的参数
var dataObj = {}
for(var key in ajaxData){
    if(ajaxData[key] != null){
        dataObj[key] = ajaxData[key];
    }
}

$.ajax({
    url:"/****/**/****/astinstall/util/queryInstallPlan?pageStr="+pagenumber+"&sizeStr="+10,
    type:"post",
    data:dataObj,
    success:function(res){
        console.log(res)
    }
 })

只要思想不滑坡,方法总比困难多。(解决途径不应该只有这一条,欢迎指点)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值