通过是使用ajax向后台发送字符串数组,后台接收不到该值?
$.ajax({
type: "POST",
url: url,
data: {contentIds:contentIds,channelId:channelId},
dataType: "json",
success: function(data){
if(data.msg){
alertx(succ,function(){
var f = getTableForm();
f.action="####";
f.submit();
});
}
},
error:function(){
alertx("没有权限执行此操作!");
}
});
后台代码:
@RequestMapping(value = "articleMove")
public @ResponseBody String articleMove(String[] contentIds,String channelId) {}
通过浏览器观察,以及后台拦截参数看到
- contentIds[]:6c7dc887815041f5a787435eb6e3d7e5
- channelId[]:bb2cf2a2e9c54524a8971eeb987541b6
发现参数中会有[]无法对其绑定,在ajax的属性中添加traditional: true,//这里设置为true
后台就可以访问,成功接收数据。
$.ajax({
type: "POST",
url: url,
data: {contentIds:contentIds,channelId:channelId},
traditional: true,//这里设置为true
dataType: "json",
success: function(data){
if(data.msg){
alertx(succ,function(){
var f = getTableForm();
f.action="####";
f.submit();
});
}
},
error:function(){
alertx("没有权限执行此操作!");
}
});
- contentIds:6c7dc887815041f5a787435eb6e3d7e5
- channelId:bb2cf2a2e9c54524a8971eeb987541b6