Php 如何为ajax获得正确的返回数组?

Php 如何为ajax获得正确的返回数组?,php,ajax,arrays,json,datatable,Php,Ajax,Arrays,Json,Datatable,我正在使用api数据表和ajax 我生成如下数组: [['1','2','3'],['4','5','6']] 从ajax返回时,在dataTable中不起作用,但如果复制此数组并放入: success: function (result) { result = [['1','2','3'],['4','5','6']]; } 示例脚本: jQuery.ajax({ url: "<?php echo Mage::getSingleton('adm

我正在使用api数据表和ajax

我生成如下数组:

[['1','2','3'],['4','5','6']]
从ajax返回时,在dataTable中不起作用,但如果复制此数组并放入:

success: function (result) {
    result = [['1','2','3'],['4','5','6']];
}
示例脚本:

jQuery.ajax({
                url: "<?php echo Mage::getSingleton('adminhtml/url')->getUrl('pagseguro/adminhtml_ajax'); ?>",
                type: "POST",
                data: { 
                        form_key: "<?php echo Mage::getSingleton('core/session')->getFormKey();?>", 
                        days: getDays
                        },
                success: function(result) {
                    if (result != "") {
                        jQuery('#htmlgrid').dataTable().fnClearTable(true);           
                        jQuery('#htmlgrid').dataTable().fnAddData(result);
                        //jQuery('#htmlgrid').dataTable().fnStandingRedraw();
                    }

                    blockModal(0);
                },
                error: function() {
                    blockModal(0);
                }
            });
处理
$array
代码:

foreach ($array as $info) {

                $i = 1;
                $dataSet .= ($j > 1) ? ",[" : "[";              

                foreach ($info as $item) {

                    $dataSet .= (count($info) != $i) ? "'" . $item . "'," : "'" . $item . "'";          
                    $i++;   

                }

                $dataSet .= "]";
                $j++;

            }

            $dataSet .= "]";
            echo $dataSet;
示例2 php:

echo json_encode($array);
您的数据库中缺少数据类型


应该根据您发布的代码提供帮助或尝试$.parseJSON(yourJsonString)

a。这里有一个PHP函数和一个HTTP头,您应该了解一下

  • 作用
  • 标题
所以你最终会得到这样的结果

// Tell browser it'll receive JSON data
header('Content-Type: application/json'); 

// Parses your array as a valid JSON string
echo json_encode($array); 

向我们展示如何生成JSON数组并将其发送到浏览器的代码。哎哟。。。如果你有一个像
JSON\u encode($array)这样的函数,为什么会有人手动(糟糕地)尝试生成一个JSON字符串由你支配?这只是一个概念。根据您的具体情况进行调整。显然有效,但不返回表中的数据,只创建trd,不创建tds givenWell如果您的ajax请求从服务器接收到现在有效且可用的json数据,这个问题就解决了。如果客户端站点上的其他内容不起作用。为此提出一个新问题。
$.ajax({
    url: '',
    type: 'GET',
    dataType: 'JSON',
    data: {

    }
    success: function(aData) {
         console.log(aData);
    }
});
// Tell browser it'll receive JSON data
header('Content-Type: application/json'); 

// Parses your array as a valid JSON string
echo json_encode($array);