jQuery - 在iframe完成加载后将数据发布到iframe并重定向

时间:2013-01-18 15:19:36

标签: php jquery ajax post iframe

这是我到目前为止所做的:

<?php

// Simulating some post values for test proposes
$_POST['test'] = 'testing values';

// POST contents (originally from a form in another page)
$query = http_build_query( $_POST );

?>
<!DOCTYPE HTML>
<html>
<head>
 <meta http-equiv="content-type" content="text/html" />
 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script type="text/javascript">
  $(function() { $("#myiframe").load(function(){ window.location.replace('after.php'); }); });
 </script>
 <title>iFrame Load POST</title>
</head>
<body>
<iframe id="myiframe" src="load.php" width="0" height="0"></iframe>
</body>
</html>

我需要的是能够将最初从另一个页面中的表单发送的$ _POST数据发送到iframe,并在iframe加载并处理发布数据后重定向页面。

----编辑----

实际上,它不需要iframe,但我仍然需要对load.php进行post调用并等待它加载才能进行重定向。在load.php完成加载请求之前,我无法重定向。这就是我使用iframe方法以前使用GET而不是POST的原因。

--------------

有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

只需使用jQuery AJAX调用即可。它允许您附加在请求成功完成后执行的处理程序。

$.ajax({
    url: 'load.php',
    data: {foo: 'bar'},
    type: 'post', // you can use get if you want to.
    success: function(response) {
        window.location.replace('after.php'); 
    }
});