在加载时使用AJAX触发python处理程序(在GAE中)时,它会正确加载HTML模板页面,但由于某种原因,它不会执行模板页面中的Javascript。它也不会在成功回调函数中返回该javascript。
这是index.html文件中的代码,它在加载时触发处理程序:
<div id="daily_emails"></div>
<script>
$.ajax({
url: "/gviz",
cache: false,
success: function(data){
$("#daily_emails").html(data);
}
});
</script>
gviz处理程序生成一个html模板,其中包含自定义Google Chart Tools表。它创建它本身没有任何问题,但一旦我从另一个html文件(如上所述)调用它,它剥离javascript内容,结果返回普通的,未改变的,HTML。由于javascript代码本身使用模板标签(对于Google Chart Tool中的数据),我不能只从上面的index.html文件中运行它。
如果有帮助,我可以发布gviz处理程序呈现的模板的完整代码。
答案 0 :(得分:1)
您需要确保在页面准备就绪时进行通话
<script>
$(document).ready(function() {
$.ajax({
url: "/gviz",
cache: false,
success: function(data){
$("#daily_emails").html(data);
}
});
});
</script>
答案 1 :(得分:0)
您使用的是哪种浏览器?浏览器将解析返回的HTML,并可能删除非法HTML。如果返回的HTML中存在错误,则可能会发生这种情况。如果你包含'/ gviz'的结果会很有帮助。
由于听起来您返回的模板可能不包含纯粹有效的HTML,因此您可能需要将内容类型设置为“text / plain”的结果返回,以便浏览器不会尝试解析它