Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   GridPanel с загрузкой данных из JsonStore (https://javascript.ru/forum/extjs/17823-gridpanel-s-zagruzkojj-dannykh-iz-jsonstore.html)

lastalert 04.06.2011 15:43

GridPanel с загрузкой данных из JsonStore
 
Всем привет

есть такой кусок кода:

var store = Ext.create('Ext.data.JsonStore', {
		autoLoad: true, 
		url: 'data/json.php',		   
	        root: 'users',		
		fields: [
		    		    
		    {name: 'first_name', mapping: 'first_name'},
		    {name: 'last_name',  mapping: 'last_name'},           
		    {name: 'created',    mapping: 'created'},
		    {name: 'active',     mapping: 'active'},          
		    
		]		
});


когда, обращаюсь к скрипту, то отображается грид с бесконечным лоадером (Loading...)

json.php возвращает:
Код:

{"first_name":"UserFirstName","last_name":"UserLastName","created":"2011-06-20","active":"1"}
из ошибок: Uncaught TypeError: Cannot call method 'indexOf' of undefined /test/ext/ext-debug.js:8436

Подскажите в чем может быть проблема, почему грид не заполняется данными?

burashka 08.06.2011 12:46

строка возвращемая PHP должна начинатся со слова указанного тобой в атрибуте root + там могут быть проблемы со скобками

у меня строка возврата имеет вид:
{Shaggy:[{"id":"2","host":"qqq},{"id":"1","host":"ggg"}]}

и это парсится вот таким стором:
var gridShaggyStore = new Ext.data.JsonStore
	(
		{
			url: 		'Store/gridShaggy.php',
			root: 		'Shaggy',
			fields: 	[{name: 'id', type: 'int'}, 'host'],
			autoLoad: 	true
		}
	);


Часовой пояс GMT +3, время: 01:18.