JqG​​rid显示加载成功,但不安装Grid

时间:2016-01-21 21:33:35

标签: javascript jquery json jqgrid

我在网站上使用网格我使用了jqGrid。发生的事情是,当数据返回请求时,它们的格式正确,因为jqGrid本身进入LoadComplete方法,但它不会在Grid中加载数据。
Javascript是JqGrid:

    $(document).ready(function () {
    $("#jqGrid").jqGrid({
        url: 'adm/controller/medico.php?acao=listarMedico',
        mtype: "POST",
        styleUI : 'Bootstrap',
        datatype: "json",
        colModel: [
            { label: 'id', name: 'idMedico', key: true, width: 75, hidden:true },
            { label: 'Nome', name: 'nomeMedico', width: 75 },
            { label: 'CRM', name: 'crmMedico', width: 150 },
            { label: 'Especialidades', name: 'especialidadesMedico', width: 150 },
            { label: 'Endereço', name: 'enderecoMedico', width: 150 },
            { label: 'Telefone', name: 'telefoneMedico', width: 150 }
        ],
        viewrecords: true,
        rowNum: 20,
        rowList: [20, 40, 100],
        //height: "auto",
        height: 400,
        emptyrecords: "Nenhum médico com o filtro selecionado",
        loadtext: "Buscando e carregando...",
        rowNum: 20,
        pager: "#jqGridPager",
        caption: "Médicos Conveniados",
        loadComplete: function(data){
            console.log('sucesso');
            console.log(data);
        },
        loadError: function (xhr,st,err) {
            console.log('HTTP status code: ' + xhr.status + '\n' +
                  'textStatus: ' + st + '\n' +
                  'errorThrown: ' + err);
            console.log('HTTP message body (jqXHR.responseText): ' + '\n' + xhr.responseText);
        }
    });
});

PHP的返回就是这个JSON:

{"total":1,"page":1,"records":20,"rows":{"1":{"id":"1","cell":{"idMedico":"1","nomeMedico":"dsda","crmMedico"
:"jknjk","especialidadesMedico":null,"enderecoMedico":" ,  -  - ","telefoneMedico":"() "}},"2":{"id"
:"2","cell":{"idMedico":"2","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:" ,  -  - ","telefoneMedico":"() "}},"3":{"id":"3","cell":{"idMedico":"3","nomeMedico":"Henrique","crmMedico"
:"CRM","especialidadesMedico":null,"enderecoMedico":" ,  -  - ","telefoneMedico":"() "}},"4":{"id":"4"
,"cell":{"idMedico":"4","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:" ,  -  - ","telefoneMedico":"() "}},"5":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico"
:"CRM","especialidadesMedico":null,"enderecoMedico":"Endere\u00e7o , Bairro - \u00c1gua Doce do Norte
 - ES","telefoneMedico":"() "}},"6":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico"
:"CRM","especialidadesMedico":null,"enderecoMedico":"Endere\u00e7o , Bairro - \u00c1gua Doce do Norte
 - ES","telefoneMedico":"() "}},"7":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico"
:"CRM","especialidadesMedico":null,"enderecoMedico":"Endereco , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico"
:"() "}},"8":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico"
:null,"enderecoMedico":"Endereco , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"9":{"id"
:"6","cell":{"idMedico":"6","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:" ,  -  - ","telefoneMedico":"() "}},"10":{"id":"7","cell":{"idMedico":"7","nomeMedico":"Henrique","crmMedico"
:"CRM","especialidadesMedico":null,"enderecoMedico":" ,  -  - ","telefoneMedico":"() "}},"11":{"id":"8"
,"cell":{"idMedico":"8","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"12":{"id":"8","cell":
{"idMedico":"8","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"13":{"id":"9","cell":
{"idMedico":"9","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"14":{"id":"9","cell":
{"idMedico":"9","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endereco , Bairro - \u00c1gua Doce do Norte - ES","telefoneMedico":"() "}},"15":{"id":"10","cell":
{"idMedico":"10","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98125-8886"}},"16":{"id"
:"10","cell":{"idMedico":"10","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endereco , Bairro - \u00c1gua Doce do Norte - ES","telefoneMedico":"() "}},"17":{"id":"11","cell":
{"idMedico":"11","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98200-5300"}},"18":{"id"
:"11","cell":{"idMedico":"11","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98125-8886"}},"19":{"id"
:"11","cell":{"idMedico":"11","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endereco , Bairro - \u00c1gua Doce do Norte - ES","telefoneMedico":"() "}},"20":{"id":"12","cell":
{"idMedico":"12","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico"
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98200-5300"}}}}

有什么问题,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您生成的数据似乎格式错误。 "rows"属性的值看起来像

{
    "1":{"id":"1","cell":{"idMedico":"1",...}},
    "2":{"id":"2","cell":{"idMedico":"2",...}},
    ...
    "20":{"id":"12","cell":{"idMedico":"12",...}}
}

而不是

[
    {"id":"1","cell":["1",...]},
    {"id":"2","cell":["2",...}},
    ...
    {"id":"12","cell":["12"...]}
]

或更好

[
    {"idMedico":"1",...},
    {"idMedico":"2",...},
    ...
    {"idMedico":"12",...}
]

您应该更改返回数据的"rows"属性的格式。

我提醒您[]代表JSON序列化数组{}代表JSON序列化对象