gpt4 book ai didi

linux - jqGrid 停止在 Archlinux 上加载 json 数据

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:24 25 4
gpt4 key购买 nike

昨天一切正常。现在网格是空的。 (我在晚上做了更新。)但是如果我从 Windows XP 机器上尝试,IE 和 FF4 加载网格都很好。一切正常。

但是对于 linux(archlinux 64 位),FF4 和 Chromium 都不会加载数据。网格是空的。

显然问题不在我的代码中。它工作正常。 FF(和 Chromium?)出了点问题

还有其他人有这个问题吗?

代码如下:

$(document).ready(function(){var lastsel,tbl=$("#tblPrintSets");
tbl.jqGrid({url:"http://192.168.1.147:3000/json/print-sets",
editurl:"http://192.168.1.147:3000/print-sets/post",
datatype:"json",height:400,
jsonReader:{repeatitems:false,id:"set_id"},
colNames:["ID","Seq #","Set name","File Name","Group Level","Exclude Attachments"],
colModel:[{name:'set_id',sortable:false,editable:false,width:40},
{name:'seq_no',sortable:false,editable:true,width:50,editoptions:{size:4},editrules:{required:true,number:true}},
{name:'set_name',sortable:false,editable:true,width:200,editoptions:{size:25},editrules:{required:true}},
{name:'file_name',sortable:false,editable:true,width:200,editoptions:{size:25},editrules:{required:true}},
{name:'group_level',sortable:false,editable:true,width:100,edittype:"select",editoptions:{value:"1:Order;2:Service List;3:Location"}},
{name:'exclude_attachments',sortable:false,editable:true,edittype:"select",editoptions:{value:"1:Yes;0:No",defaultValue:"No"}}],
onSelectRow:function(id){if(id&&id!==lastsel){tbl.jqGrid('restoreRow',lastsel);
tbl.jqGrid('editRow',id,true);lastsel=id}}});

$("#btnNewSet").click(function(){tbl.jqGrid('editGridRow',"new",{height:200,closeAfterAdd:true,recreateForm:true})})})

这是 json 数据:

{"rows":[{"exclude_attachments":"No","file_name":"inhouse","group_level":"Location","seq_no":"1","set_id":"1","set_name":"In House"},
{"exclude_attachments":"No","file_name":"client","group_level":"Order","seq_no":"2","set_id":"2","set_name":"Client Set"},
{"exclude_attachments":"No","file_name":"oc","group_level":"Service List","seq_no":"3","set_id":"3","set_name":"O.C. Set"},
{"exclude_attachments":"No","file_name":"service","group_level":"Service List","seq_no":"4","set_id":"4","set_name":"Service List Set"}]}

jqgrid版本:4.0

jquery: 1.5.2

jquery-ui: 1.8.11

编辑:感谢 Oleg 的帮助,问题已解决。事实证明我正在为 json 数据使用绝对 url。对于绝对网址,它必须与您访问该网站的网址相匹配。我在主机上使用“localhost”url 访问网站。这就是它不起作用的原因。

最佳答案

如何查看here一般情况下 jqGrid woks。

我认为您的主要问题存在是因为在 url 中使用了 http://192.168.1.147:3000 前缀。我假设现在更改了 IP 地址或端口号,或者该网站在其他 Web 服务器上运行。 Ajax 有一个名为 same origin policy 的重要限制。 .您无法从具有另一个 IP 作为当前 Web 服务器的服务器获取数据。甚至端口号也应该相同。所以你永远不应该为 url 使用绝对路径并将其更改为 url:"/json/print-sets"和 editurl:"/print-sets/post"示例。

再多说一句。您的 JSON 数据没有 id 信息。一不小心,输入数据中的“set_id”值为 1、2、3。如果 jqGrid 在 JSON 输入中找不到关于 ids 的信息,它也使用 1,2,3... 所以你对数据的编辑没有问题。如果某些列(如“set_id”)包含唯一 ID,您应该在相应的列定义中包含 key:true

关于linux - jqGrid 停止在 Archlinux 上加载 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735545/

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