我是一个使用json的jquery函数。 json输出,我想放入一个数组,然后我将使用数组填充表(填充表的代码很复杂,我将省略它)。下面的代码不起作用,但如果我直接将json输出分配给数组(json输出),它就可以工作。
服务器端(table.menus.php):
Editor::inst( $db, 'menus', 'id' )
->fields(
Field::inst( 'seccion' )
->validator( 'Validate::notEmpty' ),
Field::inst( 'descripcion' )
->validator( 'Validate::notEmpty' ),
Field::inst( 'precio' )
->validator( 'Validate::notEmpty' )
)
->process( $_POST )
->json();
JS:
$( document ).ready(function() {
var data = [];
data = $.getJSON("table.menus.php", function(json) {
data = json;
});
如果使用上面的代码,html代码可以工作:
data = json;
我分配数据数组变量(从firebug复制并粘贴json输出),如下所示:
data = [{
"DT_RowId": "row_1",
"seccion": "Primeros",
"descripcion": "paella valenciana con bogavante y cigalas",
"precio": "189"
}, {
"DT_RowId": "row_2",
"seccion": "Segundos",
"descripcion": "cocido completo",
"precio": "99"
}, {
"DT_RowId": "row_3",
"seccion": "Primeros",
"descripcion": "Raviolis al presto",
"precio": "65"
}, {
"DT_RowId": "row_4",
"seccion": "Segundos",
"descripcion": "Chuleton de buey",
"precio": "60"
}];
答案 0 :(得分:0)
问题是JSON输出给出了一个对象(数组),而且我真的需要处理变量。解决方案非常简单,只需将JSON输出分配给变量,现在就可以了!
$(document).ready(function(){
$.getJSON("../php/platos.php", function(data){
for (var i=0, len=data.length; i < len; i++) {
console.log(data[i]);
}
data = data['data']; // assing array output (object) to var. easy and work!