我有一个使用json的jquery函数。json输出,我想放到一个数组中,然后我将使用数组来填充一个表(填充表的代码很复杂,我将省略它)。下面的代码不起作用,但如果我将json输出直接赋值给array (json output),它就会起作用。
服务器端(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"
}];
发布于 2014-07-16 17:12:44
问题是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!
https://stackoverflow.com/questions/23735363
复制相似问题