2015-02-09 3 views
0

Я пытаюсь получить значения и поместить в текстовое поле. return json is;Как получить значения в этом объекте json в ext js?

Object { info=[1]} 

в этом

info[Object { name="name", another ="another"}] 

ясно;

{"info":[{"name":"name","another":"another"}]} 

i do;

var resp = Ext.decode(response.responseText); 
txtName.setValue(resp.info); 

и в текстовом поле это показано [объект Object]

Как я могу получить имя и другие ценности?

ответ

0

Поскольку response.info является узел корневого уровня в своем ответе, который содержит массив объектов:

[{"name":"name","another":"another"}] 

Так, чтобы использовать значение из этого объекта в текстовом поле (как это требуется строковое значение) вам необходимо получить доступ к объекту в этом массиве, а затем извлечь значение из какого ключа вы хотите, чтобы получить значение имени в текстовом поле вы будете использовать:

txtName.setValue(resp.info[0].name); 

в качестве примечания, как правило, вы бы использовать ExtJS Store с прокси-сервером, настроенным для извлечения и хранения данных из t он сервер (если он возвращается в подобной структуре JSON). В конфигурации хранилища вы должны настроить свойство root, чтобы сообщить читателю магазина, что именованное свойство в ответе содержит данные. Таким образом, в этом случае «информация» является корнем, где ваши данные могут быть найдены. Затем читатель магазина прокручивал объекты в массиве и создавал записи для каждого в хранилище для остальной части приложения для использования.

Смежные вопросы