ajax与springmvc传参方式总结
在使用ajax与springmvc进行传参的过程中发现如下特点,特总结如下: 1、传简单的一个或两个参数 $.ajax({ type:'post', url:"/del", data:{id:stuId}, success:function(data){ if(data=="success"){ infoTip("删除成功",2000); } } }); ①后台用变量接收 @RequestMapping(value="del") @ResponseBody public String del(String id){ return service.del(id); } service.del(id)返回的是字符串类型的,因为ajax中没有加参数dataType:'json',所以前台接收的是字符串success 注:data中的id与后台接收的参数的名称必须一致。 ②后台用对象接收’ @RequestMapping(value="del") @ResponseBody public String del(Student student){ return service.del(student); } 注:data中的id与后台接收的对象中的属相名称必须一致。 2、传递数组:一个或多个,有下面两种方式。若传递的是数组对象,需要用第二种方式,否则失败。 ①前台 $.ajax({ type:'post', data:{"newArray":newArray, "delArray":delArray }, traditional:true,//这个是最重要的 success:function(data){ if(data=="success"){ infoTip("删除成功",2000); } } }); 后台: @RequestMapping(value="del") @ResponseBody public String del(String[] newArray,String[] delArray){ return ""; } 如果不加traditional,通过 观察浏览器中发送的请求,可以发现参数如下: newArray[]: delArray[]: 可以看到,参数的名字为newArray[]而不是我们所定义的newArray,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。 加上traditional后,就对了。 ②前台 varitemsArray=[];
$.ajax({ type:'post', contentType:'application/json;charset=UTF-8',//解决415错误 data:JSON.stringify(itemsArray),2000); } } }); 后台:
@RequestMapping(value="del") @ResponseBody public String del(@RequestBody String[]newArray){ return ""; } 注: 只能传一个数组。(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |