我有一个iframe
<iframe class="browser" scrolling="no" name="navigation"></iframe>
当触发特定事件时,POST请求将发送到servlet
$.post("LoggerServlet", { sharedSessionId: $('#sharedSessionId').val(), level: $('#level').val(), goTo: this.href} );
是否可以将POST响应定位到iframe?
P.S。我认为可以使用一种解决方法,比如创建一个隐藏的表单,动态填充它并使用submit()方法,但如果可能的话,我更喜欢“jQuery-native”解决方案。
P.P.S。
我也试过这样的事情
$.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>
我们确定函数(数据)中的数据参数是否得到这种响应,而不仅仅是类似Json的响应?
有什么建议吗?谢谢大家。
答案 0 :(得分:0)
您可以使用.load在传递变量时打开iFrame中的目标文件。
注意:在iFrame上使用.load会导致函数触发两次;通过从iFrame本身调用函数来修复。 - 见jQuery iframe load() event?