我将从中提交iframe:
<form id="myform" action="http://example.com/" target="myiframe">
//some fields
</form>
<iframe name="myiframe" src=""></iframe>
然后在某些时候我使用javascript提交此表单:
<script type="text/javascript">
document.getElementById("myform").submit();
</script>
如何在.submit()之后捕获响应?
我无法使用jQuery和Ajax调用。
答案 0 :(得分:1)
您可能遇到跨域问题,因为您无法使用JavaScript访问http://example.com/
内容,除非您的JavaScript也托管在http://example.com/
上。
如果表单操作指向同一个域,则可以执行this之类的操作:
<强> HTML 强>
<form id="myform" action="http://fiddle.jshell.net/" target="myiframe">
//some fields
</form>
<iframe id="myiframe" name="myiframe" src=""></iframe>
javascript
var iFrame = document.getElementById("myiframe");
var form = document.getElementById("myform");
iFrame.onload = function () {
/** do smth with your iframe data */
console.log(iFrame.contentDocument.body.innerHTML);
};
form.submit();
请注意 jsfiddle代码中的域名 - 它指向同一个域,执行JS,以防止跨域访问问题。