1

JQuery イベント ハンドラーを維持したいので、.clone(true, true) を使用して HTML をコピーしました。これを $.post 経由で PHP に渡すと、投稿が失敗し、firebug で次のエラーが表示されます

uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: jquery-1.7.2.js :: <TOP_LEVEL> :: line 7740" data: no]

ユーザーの状態を保存するスクリプトの作成に取り組んでいるため、HTML とその JQuery イベント ハンドラーを何とか維持したいと考えています。

UPDATE (追加コード)

//Save HTML w/ JQuery
GSaveState = new Object();
GSaveState['HTML'] = $('#content').clone(true, true);

$.post("DecoPOState.php", { SavedState: GSaveState},
        function(data){
            alert("Test");
        }
    );
4

1 に答える 1

3

コードの問題は、DOM 要素を送信しようとすることです。明らかな理由でそれを行うことはできません。その要素の HTML コードを送信する場合は、$('#content').html()

var GSaveState = {
    HTML: $('#content').html();
};

ただし、イベント ハンドラーは要素に関連付けられており、インライン イベントではない (つまり、DOM ツリーに表示される属性ではない) ため、その文字列には含まれません。

ただし、アプリケーションの状態イベント ハンドラーを保存することは、まったく重要ではありません。保存する状態情報に変数を使用し、それらを POST データに含めます。

于 2012-06-04T20:26:17.107 に答える