ajax - ExtJS DOM 处理 XMLHTTPRequest.repsonseXML

标签 ajax dom extjs xmlhttprequest

我想使用 ExtJS 的 Ext.Element 对象接口(interface)来遍历从 AJAX 请求中获得的 XML 响应,如下所示:

  loadModel: function() {
        console.log('Load Model....');
        var conn = new Ext.data.Connection;
        conn.request({
            url: 'partsV10.xml',
            callback: function(options, success, response) {
                if (success) {
                    var modelDom = response.responseXML.documentElement;
                    this.buildUi(modelDom)
                    this.getDasPanel().doLayout();
                }
            },
            scope: this
        });
    }

效果很好。在获得 AJAX 请求的响应后,根据我的理解,我有两种可能的方法来继续我的数据:

  1. 以如下方式使用标准 JavaScript 函数: buildUi:函数(当前元素,深度){ 如果(当前元素){

        var j;
        var tagName = currentElement.tagName;
        console.log(tagName);
    
        // Traverse the tree
        var i = 0;
        var currentElementChild = currentElement.childNodes[i];
        while (currentElementChild) {
            if (currentElementChild.nodeType == 1) {
                // Recursively traverse the tree structure of the child node
                this.buildUi(currentElementChild, depth + 1);
            }
            i++;
            currentElementChild = currentElement.childNodes[i];
        }
    }
    

  2. 我可以从跨浏览器兼容的 Ext.Element 中获益!?但我不知道如何将我的回复“转换”到 Ext.Element 以便我可以使用向上、向下等功能。

非常感谢任何帮助或建议!

提前致谢

克里斯

最佳答案

在深入了解 ExtJS 和所有细节之后,我现在可以回答我自己的问题了。阅读 XMLResponse 后,我可以使用 Ext.DomQuery 遍历 dom。 XML DOM 文档可以通过第二个可选参数调用“root”来提供,我不得不承认这是显而易见的。

因此,查询 XML DOM 响应以获取名为“item-option”的节点的一种方法是:

var options = Ext.DomQuery.select('item-option', modelDom);

省略第二个参数,参数默认为标准文档dom。

关于ajax - ExtJS DOM 处理 XMLHTTPRequest.repsonseXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7336480/

相关文章:

javascript - 为什么我的 Spark 没有动画?

javascript - 在 jQuery 中创建一个新的(永久的)CSS 样式

jQuery Mobile、DOM 和事件解除绑定(bind)

javascript - ExtJS 4 - 动态更改折线图中的图例颜色

javascript - 第二个文件上传在 ExtJS 6 中失败,在 ExtJS 4 中有效

php - 如何阻止用户伪造请求?或者如何检测虚假请求?

javascript - 使用 Elasticsearch 的 Ajax 查询格式

javascript - 添加 ajax 后 JQuery 不起作用(Node.js、PUG)

jquery - 如何为 Wordpress WP Page-Navi 插件启用 AJAX

javascript - 如何更改 Extjs NodeInterface 上的 parentId 属性