背景
我有一个HTML文件,它接受多个参数并使用javascript动态呈现页面。该页面从多个静态本地XML文件中提取数据并进行处理。
例如,service.html?ID?123返回特定于ID号123的页面。
这很简单,已经完成了。
问题:
我想使用jQuery ajax将渲染结果拉回主页面。目前,我正在使用这样的东西:
$。AJAX({
type: "GET", url: "service.html?ID?123", success: function(msg){ alert( msg ); }
});
但是,这会在我的javascript运行之前正确返回我的html页面。任何人都可以想到这样的事情的任何变通方法吗?我不想在父级中运行结果数据。
可能的解决方案:
我正在考虑在隐藏的iframe中运行“服务”,并将其写入可以通过ajax引入的可重用的静态html文件。这样的事情是否可行? nope :现在我想起来了 - 我认为这不是一个可行的解决方案,因为iframe中的所有处理都会控制主页面中的javascript线程。这正是我想要避免的事情
修改 此外,由于我所处的环境(.hta),网络工作者将无法工作。
答案 0 :(得分:0)
IFRAME解决方案应该有效。只需在页面上放置一个隐藏的IFRAME,然后将页面加载到其中:
$("#the_iframe").attr("src", "service.html?ID?123");
这将运行与页面关联的JavaScript代码。然后,您可以访问该页面(其生成的内容):
var data = $("#the_iframe").contents().find("#data_container");
答案 1 :(得分:0)
如果我明白你的需要......
$(function() {
$.ajax({
type: "GET",
url: "service.html?ID?123",
success: function(msg){
alert( msg );
}
});
}
);
将在加载所有页面但未呈现的情况下运行该程序。但是,从Ajax成功函数生成的任何元素引用都可以。