利用jquery的ajax向后台传递数组形式数据

2022-07-24 14:18:21

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阻止深度序列化。

  • 作者:亚东同学
  • 原文链接:https://blog.csdn.net/rensheng2020/article/details/122607082
    更新时间:2022-07-24 14:18:21