Php 如何为ajax获得正确的返回数组?
我正在使用api数据表和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
[['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);