【发布时间】:2016-03-31 21:25:00
【问题描述】:
我正在用 Django(在后端使用 Django Rest Framework)和前端(带有 Jquery 的 django 模板)开发一个应用程序。我已经尝试在 Handsontable 库中加载信息,但是当我尝试加载时它显示了错误消息。
未捕获的错误:loadData 只接受对象数组或 数组(给定字符串)
我的json是:
{
"description": "[{\"data\": \"CEA\", \"type\": \"text\"}, {\"data\": \"CROTAL\", \"type\": \"text\"}, {\"data\": \"NOMBRE\", \"type\": \"text\"}, {\"data\": \"D. NACIMIENTO\", \"type\": \"text\"}, {\"data\": \"D. PARTO\", \"type\": \"text\"}, {\"data\": \"NP\", \"type\": \"text\"}, {\"data\": \"D. ANALISIS\", \"type\": \"text\"}, {\"data\": \"NC\", \"type\": \"text\"}, {\"data\": \"LECHE\", \"type\": \"text\"}, {\"data\": \"%G\", \"type\": \"text\"}, {\"data\": \"%P\", \"type\": \"text\"}, {\"data\": \"RCS\", \"type\": \"text\"}, {\"data\": \"DIAS\", \"type\": \"text\"}, {\"data\": \"LE AC\", \"type\": \"text\"}, {\"data\": \"%G AC\", \"type\": \"text\"}, {\"data\": \"%P AC\", \"type\": \"text\"}]",
"typeset": 0,
"titles": "[\"CEA\", \"CROTAL\", \"NOMBRE\", \"D. NACIMIENTO\", \"D. PARTO\", \"NP\", \"D. ANALISIS\", \"NC\", \"LECHE\", \"%G\", \"%P\", \"RCS\", \"DIAS\", \"LE AC\", \"%G AC\", \"%P AC\"]",
"ren": 3,
"error": 0,
"producciones": "[{\"cea\": 2785658758, \"crotal\": \"ES025986548856\", \"nombre\": 8856, \"fchNaci\": \"None\", \"dparto\": \"2014-09-01 00:00:00\", \"np\": 2, \"danalisis\": \"2014-12-15 00:00:00\", \"nc\": 0.2, \"leche\": 32, \"pg\": 3.75, \"pp\": 3.27, \"rcs\": 201, \"dias\": 81, \"le_ac\": 2870, \"pgac\": 4.41, \"ppac\": 3.24}, {\"cea\": 2785658758, \"crotal\": 2785658758, \"nombre\": \"1111 MALU\", \"fchNaci\": \"None\", \"dparto\": \"2014-01-15 00:00:00\", \"np\": 3, \"danalisis\": \"2014-12-15 00:00:00\", \"nc\": 0.9, \"leche\": 36.5, \"pg\": 2.88, \"pp\": 3.28, \"rcs\": 21, \"dias\": 165, \"le_ac\": 11286, \"pgac\": 5.15, \"ppac\": 3.45}]",
"col": 13
}
而我在 Jquery 中的功能是:
function processHandsontable(data) {
var hstSelctors = ["#gridxls", "#xlssal"];
var content = JSON.parse(data);
var $container;
if (content.error != 0) {
sweetAlert("Error", "No information", "error");
} else {
$container = $(hstSelctors[content.typeset]);
var datos = content.producciones;
$container.handsontable({
startRows: content.ren,
startCols: content.col,
colHeaders: content.titles,
columns: content.description,
data: datos
});
}
}
不知道哪里出错了
【问题讨论】:
-
你知道错误所在的行号吗?
-
错误位于
data: datos -
正如错误消息所说,
datos应该是对象数组或数组数组。目前它是一个 json 对象。用[ ]包装那个 json 对象,使它成为一个 json 数组 -
@SG_ 谢谢你,有了你的回答我可以看到我不需要[]的问题,只需转换为对象数组。
标签: javascript jquery django django-rest-framework