$.toJSON的使用方法
http://blog.sina.com.cn/s/blog_538c1e100100sftk.html
我们都会使用jQuery的ajax方法取得json数据但是我们有的时候也要使用json数据给PHP传值,这个怎么做哪?
我们都会使用jQuery的ajax方法取得json数据但是我们有的时候也要使用json数据给PHP传值,这个怎么做哪?
注意引入顺序:
<script src=”js/jquery-ui-1.10.3.custom/js/jquery-1.9.1.js”></script>
<script src=”js/jquery.json.js”></script>
首先去http://code.google.com/p/jquery-json/ 下载一个jquery.json-2.Xxxx.min.js 包
二、在javascript中建立 数据格式
1 2 3 4 |
function ChannelDataType(){ this.typeid; this.choice; } |
三、给这个数据格式赋值,这里采用二维数组,这样例显得比较复杂一些
1 2 3 4 5 6 7 8 9 |
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程序
1 2 3 4 |
$arrChannel = json_decode($_POST['json'],true); //echo count($arrChannel); foreach($arrChannel as $arr) echo( $arr['typeid']); |
也可以用 var_export($arrChannel);进行调试