jQuery-ajax提交数组

发布于 2016-12-20 00:11:15 字数 974 浏览 1175 评论 3

function _ok(){
var chk_module_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_module_value.push($(this).val());
});
alert(chk_module_value.length==0 ?'你还没有选择任何内容!':chk_module_value);
var module_value = "[" + chk_module_value.toLocaleString() + "]";

var chk_operate_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_operate_value.push($(this).val());
});
alert(chk_operate_value.length==0 ?'你还没有选择任何内容!':chk_operate_value);
var operate_value = "[" + chk_operate_value.toLocaleString() + "]";
$.post("${pageContext.request.contextPath}/roleAuthoriedManager!testAuthorized",{'listModuleId':module_value,'listOperateId':operate_value});
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晚风撩人 2017-08-11 12:51:04

你既然是用JQuery,那为什么要传数组,直接$('form').serialize()就是整个form的所有内容了,传过去就自然会包含form里的checkbox了

偏爱自由 2017-08-03 08:52:36

其实串数组很简单的,基本上和其他的没什么区别,

参数写法为 'arr[]=1&arr[]=2&arr[]=3' 类似这样就可以了。

将你上边的改写为以下:

function _ok(){

var chk_module_value =new Array();

$('input[name="module"]:checked').each(function(){
chk_module_value.push("listModuleId[]="+$(this).val()+"&");
});

var chk_operate_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_operate_value.push("listOperateId[]="+$(this).val()+"&");
});

$.post("${pageContext.request.contextPath}/roleAuthoriedManager!testAuthorized",chk_module_value.join('')+chk_operate_value.join(''),function(data){});
}

后台接收值直接 $_POST['listModuleId'] 和 $_POST['listOperateId'] 即可。

甜柠檬 2016-12-29 11:13:10

jqury写法:
html部分记得checkbox的NAME名称用module[];
$("input[name='modules[]']:checked").each(function(){
moduleAry+= "&modules[]="+$(this).val();
});
在ajax页面直接读取参数modules,就可以获取数组数据了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文