2009-12-28 64 views
1

在这里在一个数组中我已经在JavaScript中,这个工程太棒了!PHP到Javascript数组(种)

_rowData: [ 
    { name: "Most Recent", view: "recentView" }, 
    { name: "Most Popular", view: "popularView" }, 
    { name: "Staff Picks", view: "staffView" } 
], 

我怎么能从一个PHP脚本生成这个数组?我想用AJAX来获取php返回的结果。

谢谢!

编辑 我如何处理这个PHP返回的JSON,回_rowData

回答

9

尝试使用JSON。 PHP函数json_encode()

编辑: 代码示例(服务器端 - PHP):

// data handling 
    $arrayToSend = array(array('name'=>'Most Recent', 'view'=>'recentView'), 
         array('name'=>'Most Popular', 'view'=>'popularView'), 
         array('name'=>'Staff Picks', 'view'=>'staffView')); 

    echo json_encode($arrayToSend); 

客户端(JavaScript)。注:YUI是用来显示客户端的处理:

var callback = {success: function(req) { 
          selectItems(req.responseText); 
         } 
       }; 
YAHOO.util.Connect.asyncRequest('GET',url + '?param=1',callback); 

function selectItems(resp) { 

    var result = eval('(' + resp + ')'); 

    for (var i=0; i < result.length; i++) { 
    // Do whatever you want with array result :) 
    } 
} 

评论:1)在PHP脚本,你必须做出响应,其输出的阵列,先前编码为JSON格式。 2)除YUI外,您还可以使用任何适当的JavaScript库生成AJAX请求(即JQuery,Prototype)。在我的情况下,我使用函数eval()从JSON响应中创建数组。

希望它能帮助你。

+0

,你可以在一些示例代码添加,即时通讯有点糊涂:( – tarnfeld 2009-12-28 11:12:11

3

json_encode()例如:

<?php 
$data = array('name' => 'Imran', 'age' => 23); 
echo json_encode($data); 
?> 

输出

{ 'name': 'Imran', 'age': 23 }