当前位置: 首页 > 工具软件 > JQuery Tips > 使用案例 >

【前端】小tips:利用jquery的ajax向后台传递数组形式数据

金毅
2023-12-01

1.项目实例应用:

    //创建一个数组--以数组方式存数据:耕作方式为1,2
					var BoxArr = new Array();				
						BoxArr.push(1);
						BoxArr.push(2);	
	//AJAX与后台交互	
						$.ajax({
							url: '/user/suggests',//后台地址--填自己后台地址
							type: 'post',
							traditional: true,  //这里设置为true
							data: {
								"width":width,
								"length":length,
								 "method1":BoxArr		
							},//传给后台相应数据
							success:function (a) {
								console.log(a)
								alert("建议畦田宽度为: "+a.width+"米;\n "
										+"畦田长度为:"+a.length+"米;\n"
										+"耕作方式为:"+a.method1+";")
							},
							error:function(e) {
								console.log(e)
							}
						})		

2.补充:

jQuery $.ajax传递数组的traditional参数传递必须true!
不设置的话,在java后台是无法取到参数的, 浏览器发送的参数的名字为BoxArr[]而不是我们所定义的BoxArr,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。因为jQuery需要调用jQuery.param序列化参数

jQuery.param( obj, traditional )  

默认traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架,但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化。

 类似资料: