注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

早衰男的巢

大音希声 道隐无名

 
 
 

日志

 
 

jQuery: $.post() 提交数组参数.简单粗暴直接  

2014-11-19 17:54:50|  分类: UI/CSS/HTML |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
需要传递一组(选中的)checkbox值给Ajax处理。没有下笔之前查了一下资料 手册说的比较模糊就一句话

data (可选)Map

待发送 Key/value 参数。


于是么,上网查查,看到 $.post()传参的方法哇...真TMD五花八门..八仙过海..

看了好几篇越看越晕。有说jquery.post不支持传递数组的,有说 要串成字符串,然后在远端接收参数之后再 explode切割开的... 我就奇怪了..有这么复杂么?我试着用最简单直接的方式去写... 完全可以数组直接传参嘛!!


DEMO代码如下

.html部分 (忽略上下文细节)

	<input value="1" type="checkbox" name="cb_aid[]" />
<input value="2" type="checkbox" name="cb_aid[]" />
<input value="3" type="checkbox" name="cb_aid[]" />
<input value="4" type="checkbox" name="cb_aid[]" />
<input value="5" type="checkbox" name="cb_aid[]" />
<input type="button" value="Ajax.Post" onclick="postCheckboxArray();" />


.JS部分

<script language="javascript" type="text/javascript">

function postCheckboxArray(){

var sel_aid = $("input:checked"); //那么..首先获取选中的checkbox值
var arr = new Array();
$.each(sel_aid,function(i,obj){
arr[i] = $(obj).val();
});

alert("selected objs:\n"+arr.toString()); //debug 先弹出一次看要提交的数据

$.post("testpostarray.php",{"aid":arr},function(data){
alert(data); //debug 输出 php那边接收并处理的数组
});
}
</script>


.远端程序部分(php版)

<?php
$aid = $_POST["aid"];//获得的$aid直接就是个数组了。
echo json_encode($aid); //直接echo $aid的话,会显示 "Array",所以为了方便阅读编码成了json
?>


运行一下就知道了,还真是一个小马过河的经验... 百度搜索引擎太垃圾了,只会收罗一大堆没用的反复抄袭的没什么营养的技术文,现在用bing比较多,可是bing的检索结果不太精准,信息量也比较可怜,唉....

  评论这张
 
阅读(13730)| 评论(6)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018