调用函数后使用 Jquery 和 php 重新加载当前页面

我试图在用户按下按钮后通过 Jquery 重新加载此 php 的当前页面。该函数isset($_POST['submitGenZip'])在按钮按下后被调用,但 Jquery 无法运行其重新加载页面的功能。该函数isset($_POST['submitGenZip'])仅用于下载文件(这就是 php 的作用)。它不会重定向到任何页面。


第一页.php


<?php

if(isset($_POST['submitGen']))

    {

        header('Location:Generate.php');      

    }


?>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <title>Zip Files</title>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />

...

...

...

<tr>

            <form action="" method="post" role="form">

                <td>

                    <input type="submit" name="submitGen" class="btn btn-primary" value = "GenerateZ" style="float: right;">

                </td>

            </form>

</tr>

...

...

</body>

</html>


<script>

$(document).ready(function(){

    $("#submitGen").click(function(){

        alert("ReloadThisPage");

    });

});

</script>

 


慕田峪9158850
浏览 182回答 3
3回答

桃花长相依

您可以使用多种方法加载您的页面或任何其他页面。您不必使用PHP重新加载当前页面或位置。你可以直接这样做jQuery或者用 JS 代替。使用 location.reload()您可以用于在活动location.reload();中重新加载页面click使用 window.open()window.open('Generate.php')如果您想在新窗口中打开 URL ,您也可以使用 它。使用window.location如果您想在同一window.location = 'Generate.php'窗口中打开 URL,也可以使用 它。运行下面的代码片段以查看其工作原理。$(document).ready(function() {  $("#submitGen").click(function() {    alert('Page will reload now')    location.reload();  });});<!DOCTYPE html><html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>Zip Files</title>  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> ... ... ...  <tr>    <form action="" method="post" role="form">      <td>        <input type="submit" name="submitGen" id="submitGen" class="btn btn-primary" value="GenerateZ" style="float: right;">      </td>    </form>  </tr>  ... ...  </body></html>

长风秋雁

您可以使用HTML onclick 事件属性<input type="submit" onclick="location.reload()" name="submitGen" class="btn btn-primary" value = "GenerateZ" style="float: right;">

德玛西亚99

用户“AlwaysHelping”帮助我解决了这个问题。不过我想发布一个替代解决方案。也就是说,当用户从服务器下载文件时,发送的请求有时比预期慢,Jquery 函数在同一实例期间运行,并且文件永远不会被下载。所以我在Jquery中保持了5秒的延迟才刷新页面。<script>$(document).ready(function() {&nbsp; $("#submitGen").click(function() {&nbsp; &nbsp; window.setTimeout(function () {&nbsp; &nbsp; &nbsp; &nbsp; location.href = "FirstPage.php";&nbsp; &nbsp; }, 5000);&nbsp; });});</script>
打开App,查看更多内容
随时随地看视频慕课网APP