gpt4 book ai didi

json - 从 JSON 数据设置 JqGrid 的 colName 和 colModel

转载 作者:行者123 更新时间:2023-12-04 06:49:38 39 4
gpt4 key购买 nike

我正在尝试在服务器上生成列名称列表和列模型,并将其提供给 JqGrid。
我已经成功生成了 JSON 并通过 XHR 将它传递给客户端,那里没有任何提示。但是,网格本身不会出现。我看到一列网格,顶部有网格的折叠/展开按钮。

这是javascript调用:

var col_names = [];
var col_model = [];
...
...

jQuery(document).ready(function() {
//XHR to get col_names and col_model
$.ajax({url: 'http://localhost:8080/metadata',
success: function(data) {
col_names = data.names;
col_model = data.model;
}
});
jQuery("#list").jqGrid({
url:'http://localhost:8080:/data?level=0',
datatype: 'json',
mtype: 'GET',
colNames: col_names,
colModel: col_model,
...
...

这是JSON:
{
"model": [{"index": "pid", "name": "pid"},
{"index": "p1", "name": "p1"},
{"index": "p2", "name": "p2"}],
"names": ["PID", "P1", "P2"]
}

如果我对 colModel 进行硬编码,则会显示网格。
顺便说一句,在响应头中,内容类型设置为“application/json”。

TIA

最佳答案

在您发布的代码中,您正在 AJAX 调用完成之前初始化 jqGrid:

jQuery(document).ready(function() {
//XHR to get col_names and col_model
$.ajax({url: 'http://localhost:8080/metadata',
success: function(data) {
col_names = data.names;
col_model = data.model;
}
});
jQuery("#list").jqGrid({
...

您需要重新定位 success 中的 jqGrid 代码。功能,或设置 async在您调用 $.ajax 时选择 false .

当 AJAX 调用未决时,您可以在页面上显示一个微调器或类似的东西来保持用户的注意力。

关于json - 从 JSON 数据设置 JqGrid 的 colName 和 colModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3308856/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com