JQuery Ajax:使用单个请求为两个变量分配响应

时间:2014-03-31 11:09:06

标签: php jquery ajax

我正在使用JQuery Ajax从MySQL数据库中收集数据。

我的PHP脚本如下:

$categorias= array_map(function($a) { return ($a["categorias"]); }, $rows);
$real = array_map(function($a) { return floatval($a["real"]); }, $rows);
$orcamento = array_map(function($a) { return floatval($a["orcamento"]); }, $rows);

echo json_encode($categorias);

echo json_encode(array(
    array(name => 'Orçamento', data => $orcamento),
    array(name => 'Real', data => $real)
));

这将返回两个数组,如下所示:

["Vendas","Services","Other"][{"name":"Oçamento","data":[14000,8500,0]},{"name":"Real","data":[3738,11120.99,15000]}]

我的问题是:在我的ajax调用中,我可以将第一个数组分配给变量而第二个数组分配给另一个变量吗?怎么样?

这意味着仅使用一个Ajax和服务器请求。

目前,我有:

    $.ajax({
            dataType: 'json',
            url: '../myData.php',
            success: function (response) {
                dados = response; 
                (...)
            }
     });

1 个答案:

答案 0 :(得分:2)

您可以使用以下语法:

echo json_encode(array(
'categorias' => $categorias,
'real' =>    array(name => 'Orçamento', data => $orcamento),
'orcamento' =>    array(name => 'Real', data => $real)
));

在JS中:

$.ajax({
            dataType: 'json',
            url: '../myData.php',
            success: function (response) {
                categorias = response.categorias;
                real = response.real;
                (...)
            }
     });