本人是用ssm框架整合项目,很简单的一个问题,就是前台传送数据到后台时,后台捕捉到的数据一直是null,即未获得前台数据。如下图:
//提交多选框数据
function submit(){
alert(data);
$.ajax({
url:"${ctxPath}/proDict/list",
type:'post',
data:{"data":data},
success : function(json) {
alert("传送成功");
},
error:function(data){
alert("传送失败")
},
});
}
此处注明:data数据格式为:10020,10030,10040...这种,数据之间由逗号分隔,但是在传送到后台时
@RequestMapping(value = "list", method = RequestMethod.POST)
public String getProvincelist(Model model, HttpServletRequest request) {
//处理后台得到的json数据
String data = request.getParameter("data");
/*JSONObject json=null;
if(data!=null){
json=JSONObject.fromObject(data);
}
json.*/
return "";
}
data为null值,后台改成下面这种方式才可以,在这里,我要说的不是问题,而是解决问题的方式:
//提交多选框数据
function submit(){
alert(data);
$.ajax({
url:"${ctxPath}/proDict/list",
type:'post',
data:{"data":JSON.stringify(data)},
success : function(json) {
alert("传送成功");
},
error:function(data){
alert("传送失败")
},
});
}
1、确认前台获得数据;
2、确认后台获得数据时字母拼写正确;
3、前台数据是否传入request中;
最后发现是request传送数据时发生的错误:
开始时前台request数据格式:(为数组格式,虽然我未在前台将data定义为数组)
data[]:10030
data[]:10040
修正后前台request数据格式:(转为json格式)
data:["10030","10040"]
下面附上jquery使用ajax传送数据时的处理方式,感谢作者
切片面包_kk的文章:
https://blog.csdn.net/kk211814/article/details/54934088