0

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 ページを読み込んで前のページに戻るたびに、アラート メッセージの数が増えます。

4

2 に答える 2

0

DOM に残っているすべての html を削除しても問題ありません。これを確認してください。

于 2013-08-23T10:02:09.037 に答える
0

bodyスクリプトは通常、セクションの一番上に配置されheaderます。したがって、それらは削除されず、として$(document.body).empty();も記述できます$('body').empty();

于 2013-08-23T09:59:44.947 に答える