我正在使用jQuery ajax来呈现一个也包含javascript函数的HTML页面。 我的代码是:
function ChartBook() {
$.ajax({
url: '/Charts/ChartBook',
dataType: 'html',
id: 1,
traditional: true,
type: 'GET',
success: function (content) {
$(document.body).empty();
$(document.body).html(content);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('An unexpected error occured.');
}
});
}
Chartbook页面包含一个函数“GetChartData()”。
它运行正常,但是当我以相同的方式调用另一个页面时,Chartbook页面现在不在正文中,但我仍然可以从函数“GetChartData”获取警报消息。
当我使用$(document.body).empty()从html正文中删除页面时,脚本如何仍然存在?
修改
另一个问题是,如果我回想起“Chartbook”页面并返回上一页,则警告消息来自“GetChartData()”函数两次。每次加载Chartbook页面并返回上一页时,警报消息的数量都会增加。
答案 0 :(得分:0)
脚本通常位于body
部分的header
之上。因此,$(document.body).empty();
不会删除 ,您也可以将其写为$('body').empty();
。
答案 1 :(得分:0)
如果删除所有仍在DOM中的html检查this
,则无关紧要