Я пытаюсь заполнить форму данными ответа сервера, полученными всякий раз, когда я нажимаю на имя в сетке. По большей части мне это удалось. Однако по какой-то причине, в первый раз, когда я нажимаю на имя в сетке, я получаю «undefine» для store.proxy.reader.rawData. Неважно, какое имя я нажимаю первым, он всегда это делает. Любые последующие клики возвращают ожидаемую строку json. Я использую firebug, чтобы помочь мне решить проблему.rawData undefined для первого действия POST ExtJS
Ниже приведен код для магазина «», где количество людей я сделать запрос Ajax:
Ext.define('CX.store.PersonS',
{
extend: 'Ext.data.Store',
model: 'CX.model.PersonM',
autoLoad: false,
proxy:
{
type: 'ajax',
actionMethods: {
update:'POST'
},
url: '.../CensusXPHP/app/store/getUserIdInfo.php',
reader:
{
type: 'json'
}
}
});
Ниже приводится функция в контроллере, где загружен выше магазин.
showMess: function(grid,record)
{
var tempId = record.get('transId'); //grab translation ID
var name = record.get('fname') + ' ' + record.get('lname'); //grab name of current user
var store = this.getPersonSStore();
store.load(
{
params:{cid:tempId}
})
var info = store.data;
console.log(info)
console.log(store.proxy.reader.rawData)
}
};
Я печатать две вещи консоли: объект store.data и store.proxy.reader.rawData. Распечатка непосредственно ниже показывает операторы POST и консоль печати для первых двух событий щелчка:
> POST http:app/store/getUserIdInfo.php?_dc=1339179358498
> Object { items=[0], map={...}, keys=[0], more...}
>
> POST http:/app/store/getUserIdInfo.php?_dc=1339179359680
> Object { items=[1], map={...}, keys=[1], more...} Object { id="123", bday="1/5/89", payPref="credit", more...}
Я нажал на то же имя и оба раза. Как вы можете видеть, объект store.data говорит, что у него есть нулевые элементы во время первого щелчка, а rawData «undefine; HOWEVER, когда я расширяю информацию для объекта store.data для первого щелчка, вы можете видеть, что действительно есть . пункт со строкой JSON (это же информация в качестве второго пункта щелчка, потому что я нажал на то же имя дважды) отпечаток ниже показывает это:.
> $className "Ext.util.MixedCollection"
>.
>.
>.
> -items: [Object {internalId="123", raw={...}, data={...}, more...}]
> --0: Object {internalId="123", raw={...}, data={...}, more...}
> ---$className: "CX.model.PersonM"
> ---$inheritableStatics: ["setProxy","getProxy", "load"]
> ---alternateClassName: "Ext.data.Record"
> ---associations: Object { items=[0], map={...}, keys=[0], more...}
> ---onfig: Object {}
> ---data: Object { bday="1/5/89", street="123 Main St", city="Los Angeles", more...}
> ---defaultProxyType: "ajax"
> ---dirty: false
> ---editing: false
>.
>.
>.
Я понятия не имею, что происходит, я был работая с ExtJS в течение двух недель, поэтому мне трудно увидеть какие-либо тонкие ошибки (или даже ослепительные). Будет ли кто-то указывать на меня в правильном направлении?
Спасибо за вашу помощь! -K
Eeeeeeek! Это сработало! БОЛЬШОЕ СПАСИБО! – karol