ajax与springmvc传参方式总结

前端之家收集整理的这篇文章主要介绍了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 "";

}

注: 只能传一个数组。 原文链接:https://www.f2er.com/springmvc/160958.html

猜你在找的SpringMVC相关文章