Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2012, 12:11
Новичок на форуме
Отправить личное сообщение для LimYoHwan Посмотреть профиль Найти все сообщения от LimYoHwan
 
Регистрация: 20.08.2012
Сообщений: 3

Изменение данных при загрузке в модели
Есть код:

Ext.define('Pkasko.model.Models', {
    extend: 'Ext.data.Model',
    fields: ['model_id', 'id', 'text', 'power', 'weight', 'price'],
    proxy: {
        type: 'ajax',
        url: '/ajax/getModels.php',
        reader: {
            type: 'json',
            root: ''
        },
     afterRequest: function(req, res) {


            Ext.Array.each(req.operation.response, function(val, index, selflink)
			{

			
				var json = Ext.decode(val.responseText);
				var result = '';
							
				Ext.Object.each(json, function(ind2, val2, selflink2)
				{
					var ind = ind2;
					Ext.Object.each(val2, function(val3, val3, selflink3)
					{
						if(ind != '')
						{
							result += '[model_id: "'  + ind + '", id: "'  +  val3.id + '", text: "' + val3.text  + '", power: "' + val3.power  + '", weight:"' +  val3.weight + '", price: "' + val3.price + '"],';
						}
					});
				});
				
				this.responseText = result.substring(0, result.length - 1);
				
				console.log(this);
				

			});
        }

    }
});



В методе afterRequest я привожу данные к пригодному для extjs вида (итоговая переменная results), можно ли передать эту переменную модели?

Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2012, 14:56
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Если я правильно Вас понял Ext.data.Model.load()?

P.S. Только у Вас:
result += '[...'  + ... + '...],';

Замените на { }, раз уж reader: { type: 'json'...
Ну, и значения уже незачем, ессесно акромя string'ов, в " " заворачивать...
__________________
"Helo, word!" - 17 errors 56 warnings

Последний раз редактировалось Ex_Soft, 20.08.2012 в 15:00.
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2012, 15:17
Новичок на форуме
Отправить личное сообщение для LimYoHwan Посмотреть профиль Найти все сообщения от LimYoHwan
 
Регистрация: 20.08.2012
Сообщений: 3

Спасибо за ответ, Ex!

Алгоритм такой:

1) получаю ajax с результатами запроса
2) привожу результаты запроса в нормальный вид
3) подставляю в модель

Я совсем недавно с extjs, поэтому если приведете примерчик - буду благодарен
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2012, 15:25
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

А зачем столько телодвижений? Handler Ваш? Можете сразу отдать данные в нужном формате?

Сообщение от LimYoHwan Посмотреть сообщение
если приведете примерчик
Ext.define("TestModel1", {
	extend: "Ext.data.Model",
	idProperty: "id",
	fields: [
		{ name: "id", type: "int" },
		{ name: "name", type: "string" }
	],
	proxy: {
		type: "memory",
		reader: {
			type: "json"
		}
	}
});

var
	r = Ext.create("TestModel1", {
		id: 1,
		name: "Record# 1"
	});

if(window.console && console.log)
	console.log("%o", r);
__________________
"Helo, word!" - 17 errors 56 warnings

Последний раз редактировалось Ex_Soft, 20.08.2012 в 15:32.
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2012, 15:37
Новичок на форуме
Отправить личное сообщение для LimYoHwan Посмотреть профиль Найти все сообщения от LimYoHwan
 
Регистрация: 20.08.2012
Сообщений: 3

Сообщение от Ex_Soft Посмотреть сообщение
А зачем столько телодвижений? Handler Ваш? Можете сразу отдать данные в нужном формате?


Ext.define("TestModel1", {
	extend: "Ext.data.Model",
	idProperty: "id",
	fields: [
		{ name: "id", type: "int" },
		{ name: "name", type: "string" }
	],
	proxy: {
		type: "memory",
		reader: {
			type: "json"
		}
	}
});

var
	r = Ext.create("TestModel1", {
		id: 1,
		name: "Record# 1"
	});

if(window.console && console.log)
	console.log("%o", r);
О таком варианте думал. Думаю так и сделаю! Спасибо Плюсик
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2012, 15:40
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

/me думает: только, вот, оверквотить-то зачем?..
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие модального окна (попап) при загрузке. Bengl Элементы интерфейса 2 31.05.2012 10:34
Автозапуск скрипта при загрузке страницы HepoH Javascript под браузер 3 31.03.2012 22:27
Проблема с setTimeout при первой загрузке в Chrome slobodchuk jQuery 1 17.02.2012 02:16
Изменение размеров при загрузке RamPi Events/DOM/Window 0 24.10.2011 17:35
изменение рисунка в меню при помощи Javasripta Maxim Общие вопросы Javascript 1 05.09.2008 14:59