$.toJSON的使用方法
原创
©著作权归作者所有:来自51CTO博客作者pyzheng的原创作品,请联系作者获取转载授权,否则将追究法律责任
[url]http://blog.sina.com.cn/s/blog_538c1e100100sftk.html[/url]
我们都会使用jQuery的ajax方法取得json数据但是我们有的时候也要使用json数据给PHP传值,这个怎么做哪?
注意引入顺序:
<script src="js/jquery-ui-1.10.3.custom/js/[color=darkblue]jquery-1.9.1.js[/color]"></script>
<script src="js/[color=darkblue]jquery.json.js[/color]"></script>
首先去http://code.google.com/p/jquery-json/ 下载一个jquery.json-2.Xxxx.min.js 包
二、在javascript中建立 数据格式
function ChannelDataType(){
this.typeid;
this.choice;
}
三、给这个数据格式赋值,这里采用二维数组,这样例显得比较复杂一些
for(i=0;i<arr_channel.length;i++){
if(arr_channel[i][2]>1){
var cdt=new ChannelDataType();
cdt.typeid=arr_channel[i][0];
cdt.choice=arr_channel[i][2];
arr[j]=cdt;
j=j+1;
}
}
四、压缩成json数组
var jdata=$.toJSON(arr);
五、ajax传值,在调试阶段把dataType : "text",由于是ajax,所以在php那边没法看到结果,只能通过传回echo信息来调,所以要dataType : "text",等调完了再变为dataType : "json",或者其他的。
六、PHP程序
$arrChannel = json_decode($_POST['json'],true);
//echo count($arrChannel);
foreach($arrChannel as $arr)
echo( $arr['typeid']);
也可以用 var_export($arrChannel);进行调试