gpt4 book ai didi

javascript - 分机号 : how can I use data from an ajax request to modify an existing Javascript element?

转载 作者:行者123 更新时间:2023-11-28 08:58:31 26 4
gpt4 key购买 nike

几天来我一直在寻找如何正确执行此操作的解释。我试图找到一个像样的 JS 或 Ajax 教程,但我找到的所有教程都相当基础,而且不够深入。当我想用 Python 解决问题时,我会访问 Python.org,对于 PHP,我使用 php.net,但我还没有找到合适的 JS 和 Ajax 资源。如有任何提示,我们将不胜感激。

所以我会尝试解释我做了什么。我有一个相当简单的页面,它的左侧有一个 div,右侧有一个 div。在左边的树中,呈现一棵树,代表一个注册表,在右边的树中,显示和编辑值。

树存储在全局变量中。我已阅读有关使用全局变量的所有警告,但我认为在这种情况下这是合理的。每当访问此页面时,都会显示树。

var tree;
...
function initTree(treeRootConfig) {
return new Ext.tree.TreePanel({
renderTo : 'tree'
,width : 500
,height : 498
,autoScroll : true
,resizable : true

,useArrows : false
,animate : true
,loader : {
dataUrl : urls.urlLoadTree,
listeners: { beforeload : function(treeLoader, node) {} }
},listeners: {
click : function(node, e) { valueGrid.load(node.id); }
,contextmenu : function(node, e) {
cmPath.node = node;
cmPath.showAt(e.getXY());
},
},root : treeRootConfig
});
}

有一个文本字段,其中保存树正在显示的路径的文本表示。

function initTextfieldPath() {
return new Ext.form.TextField({
fieldClass : 'textfieldPath',
applyTo : 'path',
enableKeyEvents: 'true',
listeners : { change : function() { refreshTree(); } },
});
}

每个节点都是路径中的一个“文件夹”。现在,当访问新节点时,文本字段的值会相应修改。这工作正常。当在文本字段中输入新路径时,我希望重新加载树以显示节点。解析路径,然后使用 Ajax 从数据库中获取节点。这样做的目的是,我获取节点的字符串表示,通过 JSON 进行编码,并尝试将节点设置为树的新根。

function refreshTree() {    
Ext.Ajax.request({
url : urls.DirectAccess
,scope : tree
,params : { path: textfieldPath.getValue() }
,success: function(response, opts) {
alert(response.responseText);
tree.setRootNode(Ext.util.JSON.decode(response.responseText)); }
,failure: function(response, opts) { noConnection(response); }
});
}

正如您所想象的,该警报仅用于测试目的。服务器请求完成后,它会显示从数据库获取的节点的字符串表示形式。仅将此节点设置到树中是我无法完成的事情。

我们拥有的 ext 许可证适用于 Ext 3.4.0。

最佳答案

问题完全是另一回事。我认为不可能从 Ajax 语句内部与 Ajax 语句外部声明的变量进行通信。结果我的“[”和“]”太多了。我的目标期待这样的东西“”,但我给了它一个只有一个成员“[]”的数组。但这有点奇怪,因为在其他情况下,Ext 只接受节点作为数组,无论有多少个。

关于javascript - 分机号 : how can I use data from an ajax request to modify an existing Javascript element?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18106950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com