【发布时间】:2011-02-06 02:44:41
【问题描述】:
我正在尝试在 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>
页面的其余部分包含带有 dojo 小部件的 HTML 代码。这是作为“响应”发送回选择项事件的代码。这是一个sn-p:
<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 小部件。 XhrPost 中的 handleAs: "text" 是这里的罪魁祸首吗?
【问题讨论】:
-
- 在 'dojo.byId("centerPane").innerHTML = data' 之后添加 dojo.parser.parse(dojo.byId("centerPane")) 也没有帮助。 - 添加样式信息 (class="soria") 也没有帮助。
标签: ajax django text post dojo