javascript - 如何用ExtJs ajax responseText替换元素

标签 javascript jquery dom extjs extjs4

我正在尝试将 jquery ajax 转换为 Extjs 并消除对 jquery 库的使用。

但是问题来了...

使用 Ext.Ajax.request 加载 ajax 响应后,ajax 页面中的脚本不会触发。

jQuery Ajax 函数:

        $(document).ready(function () {
        $.ajax({
            type: 'POST',
            url: '@Url.Content("~/Test/Header/")',
            success: function (response) {
                $("#header").replaceWith(response);
            }
        });
    });

上面的代码可以完美地工作,ajax 内容可以正确显示,并且所有 javascript 都可以正确执行。

这是 Extjs 版本的 ajax 请求:

        Ext.onDocumentReady(function () {
        Ext.Ajax.request({
            method: 'POST',
            url: '@Url.Content("~/Test/Header/")',
            success: function (response) {
                Ext.get('header').dom.outerHTML = response.responseText;
            }
        });
    });

上面的代码在检索响应内容方面工作正常,但是当我用响应文本替换现有的“div”时,响应页面中的 JavaScript 不会触发。

我怀疑这是因为我没有正确替换元素。

因此,当我尝试使用元素替换的 jQuery 版本时,它工作得很好。

我的问题是,Extjs 替换“div”的正确方法是什么?

我尝试了几种方法,但都不起作用......

重新表述我的问题的更好方法是...Extjs 相当于什么:

$("#header").replaceWith(response);

谢谢

最佳答案

jQuery:

$("#header").replaceWith(response);

extjs:

Ext.get('header').replaceWith(response);
//note: no pound sign

来源:

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.dom.Element-method-replaceWith

API 文档遗漏了一些东西,但总的来说,这是一个很棒的引用。享受吧!

关于javascript - 如何用ExtJs ajax responseText替换元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12755613/

相关文章:

javascript - 删除后如何添加和删除对象类?

javascript - DOM 如何工作/加载? (在 HTML 中)

javascript - 如何使用 JavaScript 禁用 TextBox?

javascript - 如何使用 jQuery 向上移动 div 元素?

javascript - react : reach the component's parent or transfer data from parent to child

PHP HTML DOM 解析器从 img 标签中选择 alt

Php SimpleXML 在父级的任何级别找到特定的子节点

javascript - babel-loader 不转换 webpack.config.js

javascript - 通过ajax发送带有多个参数的表单

javascript - jQuery 和 CSS 下拉、悬停和下拉消失