javascript调用多个参数的方法,参数在ajax中传送给后台并获取,某个为空处理

正确写法

Jquery代码:

(因为需要操作其他ajax添加的元素所以不能直接用Jquery获取对象,这里使用如下的javascript代码获取对象并操作)

// ajax搜索方法
function ajaxSearch(argument){
	$.ajax({
		url:"doSearch.do",
		type:"post",
		data:{"choose":arguments[0],"fq":arguments[1],"removeFq":arguments[2]},
		dataType:"json",
		...
	});
}

// 第一次调用,用到前两个参数
$(document).on("click",".facet_a",function(){
		var $fq=$(this).attr("value");
		ajaxSearch('1',$fq);
})

//第二次调用,用到第一个和第三个参数
$(document).on('click','.facet_delete',function(){
	var $removeFq=$(this).prev().attr("value");
	ajaxSearch('1',undefined,$removeFq);
})

Java代码:

System.out.println("rq:"+request.getParameter("rq"));
//使用第二次的调用时,可以做如下判断,做后续操作
if(request.getParameter("rq")!=null){
	...
}

控制台:

rq:null

错误写法:(最开始写法)

Jqurey:

ajaxSearch('1',' ',$removeFq)
ajaxSearch('1',null,$removeFq)

Java:

System.out.println("rq:"+request.getParameter("rq"));
使用第二次的调用时
if(request.getParameter("rq")!=null){
	...
}

控制台

rq:
    虽然在判断的时候可以通过,但是在后续操作会有未知的错误,比如数组越界,但是我们的初衷是给他赋空值然后通过判断不走if里的语句,与我们的想法相悖,所以,用undefined在js中通过ajax传给后台,后台获取的为null。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值