Есть ли способ настроить JsonRestStore для работы с существующей веб-службой, которая возвращает массив объектов, который является , а не на корневом уровне ответа JSON ?Dojo JsonRestStore с массивом не на корневом уровне ответа JSON
Мой ответ JSON в настоящее время похож на это:
{
message: "",
success: true,
data: [
{ name: "Bugs Bunny", id: 1 },
{ name: "Daffy Duck", id: 2 }
],
total: 2
}
мне нужно сказать JsonRestStore, что он найдет строки под «данными», но я не могу видеть способ сделать это от смотрения на documentation. Схема представляется как возможность, но я не могу понять ее через документы (или то, что я нахожу в Google).
Мои веб-службы возвращают данные в формате, ожидаемом магазинами в Ext JS, но теперь я не могу реорганизовать стоимость веб-сервисов на лету (вопрос о разбиении на страницы через HTTP-заголовки вместо значений строки запроса, вероятно, тоже будет интересным, но это проблема еще на один день).
Спасибо.
Это, безусловно, похоже на то, что я хочу, спасибо. К сожалению, моя оценка додзе не прошла, к сожалению, но она все еще стоит на вершине моего списка альтернатив, если я буду решать bin Ext JS. Я могу настроить тестовый пример, используя ваш код, чтобы увидеть его работу и улучшить мою уверенность в додзё. Еще раз спасибо –
У меня есть немного времени на моих руках, поэтому я снова пытаюсь это сделать. Я работаю с справочником dijit.form.FilteringSelect 1.10. Я выполнил ваше собственное решение (которое, похоже, работает), но я получаю «TypeError: не могу прочитать свойство« toString »неопределенных« ошибок в цифре/форме/_AutoCompleterMixin.js в строке 187 (примерно через секунду после ввода чего-либо и появления результатов ниже выпадающего списка). Если я верну свой образец обратно на простой JsonRestStore, я не получу ошибок (и никаких данных, конечно). Любые идеи, основанные на этих скудных деталях? Благодарю. –
Если я установил searchAttr в свой combobox FilteringSelect так же, как и значение labelAttr, тогда это нормально. Однако моя служба ожидает «query =» для searchAttr, а не «anyFieldName =». Я отправлю новый вопрос, я думаю (поскольку это не связано с моим первоначальным запросом). Благодарю. –