javascript - 如何执行这个数组(jQuery Ajax)?

标签 javascript php jquery mysql ajax

我有一个 PHP 脚本返回一个包含 4 条记录的对象:

$obj = array(
    'id'=>$id,
    'idCliente'=>$idCliente,
    'arquivo'=>$arquivo,
    'titulo'=>$titulo,
    'descricao'=>$descricao,
    'data' => $datacadastro
    );

我需要在 HTML 中一条一条地显示记录。我是 jQuery 的新手,我尝试用 3 天的时间编写这段代码,所以我决定问问。

<div>
    ID:
    IDCliente:
    Arquivo:
    Titulo:
    Descricao:
    Data:
</div>
<div>
    ID:
    IDCliente:
    Arquivo:
    Titulo:
    Descricao:
    Data:
</div>
<div>
    ID:
    IDCliente:
    Arquivo:
    Titulo:
    Descricao:
    Data:
</div>
<div>
    ID:
    IDCliente:
    Arquivo:
    Titulo:
    Descricao:
    Data:
</div>

如何进行?我有:

$.ajax ({   type: "POST", 
    dataType : "json",
    cache: false,
    url: "<?php bloginfo('template_url'); ?>/scripts/php_functions.php",
    data: {idClienteDocumentos: idClienteDocumentos, ajax: "true"},
    success: function(result){

我有这段代码,但它不起作用。

var campos = ['arquivo', 'idCliente', 'titulo', 'descricao', 'arquivo', 'data'];
var tabela = $('<div id="tabela"></div>');
resultado.forEach(function (linha) {
    var linhaDiv = $('<div></div>');
    linha.forEach(function (campo, index) {
        $('<div></div>').addClass(campos[index]).text(campo).appendTo(linhaDiv);
    });
    linhaDiv.appendTo(tabela);
});

最佳答案

您的 PHP 脚本可以是:

$obj = array(
    'id'=>$id,
    'idCliente'=>$idCliente,
    'arquivo'=>$arquivo,
    'titulo'=>$titulo,
    'descricao'=>$descricao,
    'data' => $datacadastro
    );
$result = array('results' => $obj);
echo json_encode($result); die;

你的 jQuery 可以是:

$.ajax ({   type: "POST", 
    dataType : "json",
    cache: false,
    url: "<?php bloginfo('template_url'); ?>/scripts/php_functions.php",
    data: {idClienteDocumentos: idClienteDocumentos, ajax: "true"},
    success: function(response){
      console.log(response.results.id)
      $("#main_div").append(response.results.id);
    }
});

这只是一个示例脚本,您可以根据需要进行修改。

如果你有多维数组,那么你可以通过循环遍历每条记录,如下所示:

PHP代码:

$obj[0] = array(
    'id'=>$id,
    'idCliente'=>$idCliente,
    'arquivo'=>$arquivo,
    'titulo'=>$titulo,
    'descricao'=>$descricao,
    'data' => $datacadastro
    );
$obj[1] = array(
    'id'=>$id,
    'idCliente'=>$idCliente,
    'arquivo'=>$arquivo,
    'titulo'=>$titulo,
    'descricao'=>$descricao,
    'data' => $datacadastro
    );
$result = array('results' => $obj);
echo json_encode($result); die;

J查询:

$.ajax ({   type: "POST", 
        dataType : "json",
        cache: false,
        url: "<?php bloginfo('template_url'); ?>/scripts/php_functions.php",
        data: {idClienteDocumentos: idClienteDocumentos, ajax: "true"},
        success: function(response){
          $.each(response.results, function(i, item) {
           console.log(item.id);
           //You can append data to HTML div
           $("#main_div").append(item.id);
          });
        }
    });

关于javascript - 如何执行这个数组(jQuery Ajax)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122453/

相关文章:

javascript - 用 moment 解析这个值不起作用

javascript - 如何检查 if 语句的条件以查看其是否正常工作?

javascript - jquery 中如何让对象旋转然后消失?

javascript - React中子组件更新时如何更新父组件

jQuery 和 $.post

javascript - 使用jquery获取元素值

javascript - 在 Javascript 中从 JSON 创建一个数组

php - symfony 中的 i18n(国际化)

php - Yii 将数据保存到不同的表

php - Sulu CMS GET-请求错误