把對象數組轉成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>