Я пытаюсь захватить выбранный элемент в виджете Dijit Tree, чтобы отобразить оставшуюся часть веб-страницы. Вот код, который захватывает выбранный элемент и отправляет его в бэкэнд Django:
<div dojoType="dijit.Tree" id="leftTree" store="leftTreeStore" childrenAttr="folders" query="{type:'folder'}" label="Explorer">
<script type="dojo/method" event="onClick" args="item">
alert("Execute of node " + termStore.getLabel(item));
var xhrArgs = {
url: "/load-the-center-part-of-page",
handleAs: "text",
postData: dojo.toJson(leftTreeStore.getLabel(item), true),
load: function(data) {
dojo.byId("centerPane").innerHTML = data;
//window.location = data;
},
error: function(error) {
dojo.byId("centerPane").innerHTML = "<p>Error in loading...</p>";
}
}
dojo.byId("centerPane").innerHTML = "<p>Loading...</p>";
var deferred = dojo.xhrPost(xhrArgs);
</script>
</div>
Оставшаяся часть страницы содержит HTML-код с виджетами додзё. Это код, отправленный обратно как «ответ» на событие выбора элемента. Вот фрагмент кода:
<div dojoType="dijit.layout.TabContainer" id="tabs" jsId="tabs">
<div dojoType="dijit.layout.BorderContainer" title="Dashboard">
<div dojoType="dijit.layout.ContentPane" region="bottom">
first tab
</div>
</div>
<div dojoType="dijit.layout.BorderContainer" title="Compare">
<div dojoType="dijit.layout.ContentPane" region="bottom">
Second Tab
</div>
</div>
</div>
Он отображает этот html-ответ, но без виджетов Dojo. Является ли handleAs: «текст» в XhrPost виновником здесь?