jqgrid-存储行url引发异常
在内联编辑模式下,单击“保存”会引发错误jqgrid-存储行url引发异常,jqgrid,Jqgrid,在内联编辑模式下,单击“保存”会引发错误 var rowSave = function(id){ jQuery("#myjqgrid").jqGrid('saveRow',id,{ "succesfunc": function(response) { return true; }, "url": myjqgrid.json
var rowSave = function(id){
jQuery("#myjqgrid").jqGrid('saveRow',id,{
"succesfunc": function(response) {
return true;
},
"url": myjqgrid.json
"mtype": "GET"
});
}
是因为url
设置为json
?
基本上,我在第一次加载网格时得到JSON响应。在内联编辑模式下编辑行后,编辑的数据应发送到服务器。当数据保存在服务器上时,它应返回更新的JSON,网格行数据应使用更新的JSON响应进行更新。查看此文档页面:
saveRow
一节中,它说:
url:如果已定义,此参数将替换选项数组中的editurl参数。如果设置为“clientArray”,则数据不会发布到服务器,而是仅保存到网格(可能是为了以后手动保存)
下面是一点:
除非url(或editurl)为“clientArray”,否则调用此方法时,特定行中的数据将以name:value格式发布到服务器,其中name是colModel中的名称,value是新值
因此,您似乎需要提供将在此处接受数据的服务器URL。在同一页的一些示例中,您可以看到如下内容:
...
editurl: "server.php",
...
谢谢你的回复。我确实浏览了维基上的文档。这是否意味着在我的
rowSave()
中,url
的值应该是服务器端文件?这个文件会发回JSON吗?jqgrid将如何更新?这应该是服务器端页面的url,该页面将接受更改的数据,然后将其存储在数据库中。您可以使用jQuery(“#grid_id”).jqGrid('saveRow','rowid',false,'clientArray')代码>在本地执行所有操作的变体(即url
应为'clientArray'
)。保存行时,不需要从服务器进行更新,因为状态没有更改-您希望发生什么样的更新?我想如果出于某种原因您只想重新加载网格,可以使用successfunc
callback.data updates。因此,如果网格中的列具有值Client a
,但它被编辑为Client B
。我在url
中指定服务器端页面。此服务器端页面将更改的数据存储在数据库中,并输出新的JSON响应。jqgrid会自动从JSON响应中提取编辑的数据吗?这是否意味着当(1)首次加载jqgrid和(2)保存行时,url
的值应该相同?客户端上的数据更新。客户端将更新发送到服务器。服务器不需要将任何数据发送回客户机,因为客户机已经知道更新了什么<代码>url
加载时是提供数据的页面的url<代码>url执行保存行时
与选项中的editurl
相同,这是一个不同的页面,应该将数据存储在服务器上,而不是返回任何数据。如果您使用url:'clientArray'
,所有操作都将发生在客户端-它将存储在网格中-这强调了在执行saveRow
时,它不会从服务器进行任何数据更新。我没有使用clientArray
,因为我不想将数据保存在客户端。数据应该更新并存储在服务器上。