Использование Dojo и jqgrid с codeigniter - PullRequest
1 голос
/ 14 февраля 2012

Я использую библиотеку dojo и jqgrid с codeigniter.это работает нормально.Я реализовал dojo для пользовательского интерфейса и jqgrid для вывода данных из базы данных.это почти нормально работает.когда я выполнял такие операции, как, вставка, обновление, удаление, jqgrid не отображал измененияМенас это не перезагрузка данных из базы данных.Вот мой код.

$.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"); 
}

выше ajax-вызова для вставки в базу данных.и функция reload_grid () предназначена для перезагрузки jqgrid.в консоли это покажет мне, что данные идеальны, но в сетке они не отображаются.иногда это показывает мне, а иногда нет.

Ответы [ 2 ]

1 голос
/ 29 июля 2014

кажется, что reload_grid () выполняется перед ответом ajax.либо используйте асинхронную, либо перезагрузите сетку после ответа ajax.

метод - I: используйте асинхронный

$.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");
}
0 голосов
/ 11 марта 2013

было бы неплохо обновить сетку, после чего вы отказываетесь от успешного ответа от сервера и добавляете отладку

    success:function(data){
       $("#factorylist").trigger("reloadGrid"); 
       console.log('ok'); 
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...