ok, поэтому Im jsut пытается загрузить некоторые простые json-данные в html-таблицу, используя jqgrid. Я видел, что некоторые сообщения упоминают использование опции jsonreader, но я не могу найти документацию о том, как ее правильно реализовать. Я думал, что это будет очень просто! anywahy страница находится по адресу http://thethunderdome.hfbsite.com/economy/test.htm
Код js:
$(function(){
var pricesUrl = "/economy/prices3.txt"
jQuery("#pricetable").jqGrid({
url:pricesUrl,
datatype: "json",
colNames:['Item Name','Price', 'Trade Status'],
colModel:[
{name:'Name', width:100},
{name:'Price', width:90},
{name:'Trade',width:100},
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'Name',
viewrecords: true,
sortorder: "asc",
caption:"JSON Example"
});
});
json данные:
[
{
"Price":"5",
"Name":"Wood",
"Trade":"all"
},
{
"Price":"5",
"Name":"Sulfur Ore",
"Trade":"all"
},
{
"Price":"5",
"Name":"Raw Chicken Breast",
"Trade":"all"
},
{
"Price":"5",
"Name":"Cloth",
"Trade":"all"
},
{
"Price":"5",
"Name":"Metal Ore",
"Trade":"all"
},
{
"Price":"5",
"Name":"Stones",
"Trade":"all"
},
{
"Price":"5",
"Name":"Animal Fat",
"Trade":"all"
},
{
"Price":"12500",
"Name":"M4",
"Trade":"all"
},
"Price":"9000",
"Name":"Shotgun",
"Trade":"all"
},
"Price":"500",
"Name":"Small Medkit",
"Trade":"all"
},
}
"Price":"1000",
"Name":"Large Medkit",
"Trade":"all"
},
]
Данные, которые вы опубликовали, являются неправильными данными JSON. Если вы посмотрите на последнюю часть своих данных, вы увидите
[
...
{
"Price":"12500",
"Name":"M4",
"Trade":"all"
}, ---- where {
"Price":"9000",
"Name":"Shotgun",
"Trade":"all"
}, ---- where {
"Price":"500",
"Name":"Small Medkit",
"Trade":"all"
},
} ---- why } ??? one need {
"Price":"1000",
"Name":"Large Medkit",
"Trade":"all"
}, ---- why , is here ???
]
Я рекомендую вам проверить данные JSON на http://www.jsonlint.org/.
После того, как вы исправите данные, и они будут загружены правильно, я бы рекомендовал вам добавить loadonce: true
потому что вы, вероятно, захотите сразу загрузить все данные и не выполнять пейджинг на стороне сервера, сортировку и фильтрацию/поиск. Другие варианты gridview: true
и autoencode: true
также рекомендуются.
loadError
обратного вызоваloadError
во все ваши jqGrids. Это может сэкономить много вашего времени. Смотрите ответ для более подробной информации.