我正在使用带有codeigniter的dojo和jqgrid库。它工作正常。我已经为ui和jqgrid实现了dojo,用于列出数据库中的数据。它几乎工作正常。当我接受像插入,更新,删除等操作时,jqgrid不会重新选择chanes。 menas它没有从数据库重新加载数据。这是我的代码。
$.ajax({
type: "POST",
url: sitepath+"factory/addfactory",
dataType: "json",
data:{factory_name:factory_name,address:address,city:city,state:state,country:country,pincode:pincode,active:active},
success:function(){
}
});
dijit.byId('dialogAddFactory').hide();
reload_grid(); ]
function reload_grid()
{
$("#factorylist").trigger("reloadGrid");
}
答案 0 :(得分:1)
似乎reload_grid()在ajax响应之前执行。在ajax响应之后使用异步或重新加载网格。
方法 - 我:使用异步
$.ajaxSetup({async: false});
$.ajax({
type: "POST",
url: sitepath+"factory/addfactory",
dataType: "json",
data:{factory_name:factory_name,address:address,city:city,state:state,country:country,pincode:pincode,active:active},
success:function(){
}
});
dijit.byId('dialogAddFactory').hide();
reload_grid();
function reload_grid()
{
$("#factorylist").trigger("reloadGrid");
}
方法 - II:在ajax响应后重新加载网格。
$.ajax({
type: "POST",
url: sitepath+"factory/addfactory",
dataType: "json",
data:{factory_name:factory_name,address:address,city:city,state:state,country:country,pincode:pincode,active:active},
success:function(){
dijit.byId('dialogAddFactory').hide();
reload_grid();
}
});
function reload_grid()
{
$("#factorylist").trigger("reloadGrid");
}
答案 1 :(得分:0)
当您从服务器收到成功响应时刷新网格并添加一些调试
会很好 success:function(data){
$("#factorylist").trigger("reloadGrid");
console.log('ok');
}