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 本文からページを削除しているのに、どうすればスクリプトを残すことができますか?
編集:
もう 1 つの問題は、「Chartbook」ページを思い出して前のページに戻ると、アラート メッセージが関数「GetChartData()」から 2 回来ることです。Chartbook ページを読み込んで前のページに戻るたびに、アラート メッセージの数が増えます。