我正在尝试将 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 都能正确执行。
这是 ajax 请求的 Extjs 版本:
Ext.onDocumentReady(function () {
Ext.Ajax.request({
method: 'POST',
url: '@Url.Content("~/Test/Header/")',
success: function (response) {
Ext.get('header').dom.outerHTML = response.responseText;
}
});
});
上面的代码在检索响应内容时工作正常,但是当我用 responseText 替换现有的“div”时,响应页面中的 javascripts 不会被触发。
我怀疑这是因为我没有正确更换元素。
因此,当我尝试使用元素替换的 jQuery 版本时,它工作正常。
我的问题是,Extjs 替换“div”的正确方法是什么?
我已经尝试了几种方法,但它们都不起作用......
改写我的问题的更好方法是...... Extjs 相当于:
$("#header").replaceWith(response);
谢谢