[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);进行调试