Данные JQGrid не загружаются с ответом сервера JSON - PullRequest
1 голос
/ 18 июня 2011

Я пытаюсь загрузить данные из ответа jsp, который представляет собой JSON, используя JQGrid .

my index.html

<code><pre>
<script type="text/javascript" src="jqgrid/src/i18n/grid.locale-en.js"></script>
<script type="text/javascript" src="jqgrid/src/grid.loader.js"></script>
<script type="text/javascript" src="jqgrid/js/jquery.jqGrid.min.js"></script>
function getEmployeeDetails () {jQuery ("# ​​list"). JqGrid ({datatype: function (postdata) {jQuery.ajax ({url: 'execute.jsp)? command = command ', mtype:' POST ', тип данных: "json", colModel: [{name:' amount ', width: 30, сортируемый: true, выровнять:' center '}, {name:' age ',ширина: 40, сортировка: ложь, выравнивание: «центр»}, {имя: «имя», ширина: 180, сортировка: истина, выравнивание: «слева»}, {имя: «всего», ширина: 380, сортировка:true, выровнять: 'left'}], jsonReader: {root: "ключ", страница: "currentpage", total: "total", записи: "totalrecords", repeatitems: true, ячейка: "cell", id: "id ", userdata:" userdata "}, ширина: 700, высота: 200, pager: '#pager', sortorder: 'desc', viewrecords: true, заголовок: 'My first grid'});}});}

И мой execute.jsp код

<code>**<pre>
response.setContentType("application/json");
response.getWriter().write(wr.toJSONString());
**

мой JSON string сгенерированиз Java-объекта.

{
    "totalrecords":"20",
    "tota1":"10",
    "currentpage":"runCommand.jsp",
    "key":[
    {"id":"1","cell":["12000","30","Myname","10000"]}
    ]
}

Данные не загружаются в таблицу.Я пытаюсь по-разному, я не могу добиться успеха.Стол всегда пустой и говорит загрузка ..... Пожалуйста, помогите мне.Что здесь не так ...

1 Ответ

1 голос
/ 18 июня 2011

Вы используете datatype неправильно.Вам не нужно звонить jQuery.ajax вручную, jqGrid сделает это за вас.Код JavaScript может быть следующим:

$(document).ready(function() {
    $("#list").jqGrid({
        url: 'execute.jsp?command=command',
        mtype:'POST',
        datatype:"json",
        colModel : [
             {name:'amount', width:30, align:'center'},
             {name:'age', width:40, sortable:false, align:'center'},
             {name:'name', width:180},
             {name:'total', width:380}
        ],
        jsonReader : {
            root: "key",
            page: "currentpage",
            total: "total",
            records: "totalrecords"
        },
        width: 700,
        height: 200, // the value 'auto' could be probably better
        pager: '#pager',
        sortorder: 'desc',
        viewrecords: true,
        caption: 'My first grid'
    });
});

См. Демонстрацию здесь .Вам следует исправить значение "currentpage":"runCommand.jsp" из ваших данных JSON на какое-то числовое значение, например, "currentpage":"1".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...