我目前正在使用Ajax调用动态加载各种JSP。但是,一旦加载了JSP,内部包含的Javascript就无法正常工作。我假设这是因为内部的脚本尚未被解析。
为此我找到了模块" aui-parse-content"根据其描述,它应该能够解析包含的脚本。
ParseContent实用程序 - 解析节点的内容,以便该节点中包含的所有javascript将根据它出现的顺序执行。
然而,我无法让它发挥作用。这是我的AUI:脚本供参考。
<portlet:resourceURL var="viewContentURL">
<portlet:param name="jsp" value="<%= tmp %>"/>
</portlet:resourceURL>
<div id="<portlet:namespace />jspcontent"></div>
<aui:script use="aui-base, aui-io-request,aui-parse-content, aui-node">
var url = '<%= viewContentURL.toString() %>';
AUI().io.request(
url,
{
on:{
success: function(){
var message = this.get('responseData');
//alert(message);
AUI().one('#<portlet:namespace />jspcontent').html(message);
AUI().one('#<portlet:namespace />jspcontent').plug(AUI().Plugin.ParseContent);
},
failure: function(){
alert("An error occured");
}
}
}
);
</aui:script>
提前谢谢!
-John
编辑: 由于我前一段时间找到了修复程序而其他人可能遇到同样的问题,这就是我如何使用aui-parse-content工作:
on:{
success: function(){
var message = this.get('responseData');
var tmp = A.one('#<portlet:namespace />jspcontent');
tmp.html(message);
tmp.plug(A.Plugin.ParseContent);
tmp.ParseContent.parseContent(message);
},
}
答案 0 :(得分:0)
我刚刚发现了一个修复程序,其他人可能会遇到同样的问题,这就是我如何使用aui-parse-content工作:
on:{
success: function(){
var message = this.get('responseData');
var tmp = A.one('#<portlet:namespace />jspcontent');
tmp.html(message);
tmp.plug(A.Plugin.ParseContent);
tmp.ParseContent.parseContent(message);
},
}
我还修改了我的原帖以反映我的发现