var id = 1;
$.ajax({
	url:"deleteDevice",
	data:{
	    id:id, 
	},
	type:"post",
	success:function(data){},
	error:function(){},
	complete:function(){}
});

上面是$.ajax()传值正确的写法。

$.ajax()的参数data,是发送到服务器的数据,类型为String,必须为 Key/Value 格式

上面代码中的"data:{id:id,}",左边的"id"指的是key,右边的"id"是value。即:id:1

"data:{id:id,}"和"data:{id:1,}"是一样的。

下面是错误写法:

data:id,

如果这样写,那么后台收到的值会是null。

在SSM中,参数data中的key(即上面代码中左边的"id")对应Controller方法的参数。如果两者不一致,后台取前台传过来的值会是null。此时可以通过@RequestParam注解来解决。

例如:

jquery中:

$.ajax({
	url:"deleteDevice",
	data:{
	    id:1, 
	},
	type:"post",
	success:function(data){},
	error:function(){},
	complete:function(){}
});

Controller中:

@RequestMapping("/deleteDevice")
@ResponseBody
public boolean deleteDevice(@RequestParam(value="id") String name){
	System.out.println("name::"+name);   //此时name的值为前台中id对应的值
	return true;
}

有关更多@RequestParam注解 可以参考https://wwwblogs/zeroingToOne/p/8992746.html

               $.ajax() 可以参考http://www.w3school/jquery/ajax_ajax.asp

更多推荐

$.ajax()传值后台null