проблемы для создания DataGrid с XHR - PullRequest
0 голосов
/ 17 сентября 2011

Я пытаюсь построить DataGrid с использованием XHR, но Grid создается не правильно, я видел много примеров и сделал все, основываясь на том, что нашел в Интернете, но безуспешно ...

что я делаю не так?

мое додзё:

var a = dojo.xhrGet({
                                                url : "/dojo/pix/StatusXml",
                                                handlesAs: "xml",
                                                preventCache: true,
                                                headers: { "Content-Type": "application/x-www-form-urlencoded"},
                                // mimetype: "application/xml"
                                        });


                a.addCallback(function(myXml) {
                        var grid = dijit.byId("grid");
                // var gridStore = new dojo.data.ItemFileReadStore({data:{items: myXml} });
                        var gridStore = new dojo.data.ItemFileWriteStore({data:{items: myXml} });
                        alert("myxml: \n"+ myXml +" \n gridStore: \n"+gridStore);

          grid.setStore(gridStore);
                        grid.refresh();

                });

Gid результат в появившемся сообщении "извините, произошла ошибка" введите описание ссылки здесь

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

dojox.data.XmlStore не извлекает данные из сервлета с помощью XMLRequest ... только данные из файла

0 голосов
/ 17 сентября 2011

Если вы используете xml в качестве значения handleAs для функции dojo.xhrGet, данные ответа будут преобразованы в объект XML DOM. Но dojo.data.ItemFileReadStore ожидает получить объект JSON в качестве формата данных.

Таким образом, вы можете использовать dojox.data.XmlStore в качестве хранилища сетки или вручную преобразовать объект XML DOM в данные JSON. На самом деле здесь не обязательно использовать XHR, потому что dojo.data.ItemFileReadStore и dojox.data.XmlStore могут использовать URL в качестве источника данных, и они будут обрабатывать получение данных.

...