把对象数组转成JASON串,PHP收到后转化成JASON对象进行读取。
参考例子如下:
<script type="text/javascript" src="http://www.coding123.net/rardownload/20110420/20110420113851756.js"></script><!--倒入json.js文件,序列化json对象用的-->
<script type="text/javascript" src="http://www.coding123.net/js/jquery.js"></script>
<script type="text/javascript">
var zNodes =[
{ id:1, pId:0, name:"随意勾选 1", open:true},
{ id:11, pId:1, name:"随意勾选 1-1", open:true},
{ id:111, pId:11, name:"随意勾选 1-1-1"},
{ id:112, pId:11, name:"随意勾选 1-1-2"},
{ id:12, pId:1, name:"随意勾选 1-2", open:true},
{ id:121, pId:12, name:"随意勾选 1-2-1"},
{ id:122, pId:12, name:"随意勾选 1-2-2"},
{ id:2, pId:0, name:"随意勾选 2", checked:true, open:true},
{ id:21, pId:2, name:"随意勾选 2-1"},
{ id:22, pId:2, name:"随意勾选 2-2", open:true},
{ id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
{ id:222, pId:22, name:"随意勾选 2-2-2"},
{ id:23, pId:2, name:"随意勾选 2-3"}
];
$.ajax({
url:'xxxx.php'//改为你的动态页
,type:'POST'
,data:{zNodes:zNodes.toJSONString()}//调用json.js类库将json对象转换为对应的JSON结构字符串
,success:function(rst){alert('PHP接收JSON数据成功!');}
,error:function(xhr){alert('PHP页面有错误!'+xhr.responseText);}
}});
</script>
$zNodes=$_POST["zNodes"];
$json=json_decode($zNodes);//转化为JSON对象
B. 如何将php数组的值传递给javascript数组
把对象数组转成JASON串,PHP收到后转化成JASON对象进行读取。
代码如下:
<script> //
html5中默认的script是javascript,故不需要特别指定script language
var arr_js = <?php
echo json_encode($arr)?>;
</script>
C. js中如何获取php数组
js中获取php数组的代码如下:
function ajax_test(params){
$.ajax({
url:'./php/data_read.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(procts){
alert(procts);
}
});
}
D. ThinkPHP 控制器里面的数组 如何在模板JS里面调用数组$riqi,并按图中格式弹出
//控制器里面
$array=array(array(),array().....);//php控制器里定义的数组
$str=json_encode($array);//数组转成JSON格式的字符串方便后面传入模板
$this->str=$str//将转换成JSON格式的字符串发送到页面模板,$this->assign('str',$str)这种形式也可。页面中$str就可以直接使用了。
//前端页面
使用jquery的$.each可以很方便的将控制器中传过来的json字符串循环处理.
<scripttype="text/javascript">
$jsobject=eval('('+{$str}+')');//将json字符串转成对象({$str}也可以是常规的php输出<?phpecho$str;?>)
$.each($jsonject.function(a,b){
alert(a);//输出数组的键
alert(b);//输出数组的值
});
</script>