0

私はiframeを持っています

<iframe class="browser" scrolling="no" name="navigation"></iframe>

特定のイベントが発生すると、POSTリクエストがサーブレットに送信されます

$.post("LoggerServlet", { sharedSessionId: $('#sharedSessionId').val(), level: $('#level').val(), goTo: this.href} );

POST応答をiframeにターゲティングすることは可能ですか?

PS隠しフォームを作成し、動的に入力してsubmit()メソッドを使用するなどの回避策を使用することは可能だと思いますが、可能であれば「jQueryネイティブ」ソリューションをお勧めします。

PPS

私もこのようなことを試しました

$.post("LoggerServlet", { 
sharedSessionId: $('#sharedSessionId').val(), level: $('#level').val(), goTo: this.href
}).success(function(data) { alert(data); });

$.post("LoggerServlet", { 
sharedSessionId: $('#sharedSessionId').val(), level: $('#level').val(), goTo: this.href}, 
function(data) { alert(data); });

$.post("LoggerServlet", { 
sharedSessionId: $('#sharedSessionId').val(), level: $('#level').val(), goTo: this.href
}).success(function(data) {
    var iframe = $(".browser")[0].contentWindow.document;
    iframe.open();
    iframe.empty(); //just to see if the callback is called
    iframe.close();
    });
});

結果は同じです:none :(

私は疑問を持っています:

投稿メッセージへの応答(firebugで表示)はhtmlページです

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>[...]</body></html>

function(data)のデータパラメーターは、Jsonのような応答だけでなく、この種の応答を受け取ると確信していますか?

いくつかの提案?ありがとうございます。

4

1 に答える 1

0

変数を渡しながら、.load を使用して iFrame でターゲット ファイルを開くことができます。

注: iFrame で .load を使用すると、関数が 2 回起動する可能性があります。iFrame 自体から関数を呼び出すことで修正されました。- jQuery iframe load() イベントを参照してください。

于 2012-10-08T14:11:23.063 に答える