Javascript 用于加载数据和刷新UI的HTML按钮

Javascript 用于加载数据和刷新UI的HTML按钮,javascript,php,html,button,Javascript,Php,Html,Button,情况如下: 在我的html页面中有一个链接,onclick运行一个PHP脚本 <iframe style="display:none;" name="target"></iframe> <a href="path/to/my/script.php" target="target">Load new tasks</a> 我使用一个不可见的iframe来执行脚本,但我保持在同一页上 此链接执行更新mysql数据库的script.php,但为了查

情况如下:

在我的html页面中有一个链接,
onclick
运行一个PHP脚本

<iframe style="display:none;" name="target"></iframe>

<a href="path/to/my/script.php" target="target">Load new tasks</a>

我使用一个不可见的iframe来执行脚本,但我保持在同一页上

此链接执行更新mysql数据库的
script.php
,但为了查看新内容,必须重新加载页面

当然,我总是可以创建一个单独的按钮/链接来重新加载当前页面


但是我想知道是否有一种方法可以执行PHP脚本并用一个html按钮重新加载当前页面。

最好这样使用:

1:使用公共Javascript框架,例如JQuery

2:为内容创建链接和Div:

<a href="#" id="reload">Update my Data and reload my new Content</a>
<div id="result"></div>

您不需要AJAx—只需将一个脚本返回到iframe中即可更新顶级页面

<?php

....
$new=run_updates();
print "<div id='newcontent'>$new</div>\n";
?>
<script>
var dest=parent.document.getElementById('oldcontent');
var src=document.getElementById('newcontent');
dest.innerHTML=src.innerHTML;
</script>

我将向您展示如何在这种情况下使用Ajax:

以下是您的html和js代码:

<script type="text/javascript">
  $(".link").on("click", function() {
    $.ajax({
      url: "your_php_script.php",
      dataType: "json",
      cache: false,
      success: function(data) {
        location.reload(true);    
      }
    });
  });
</script>

<html>
  <body>
    <a class="link" target="target">Load new tasks</a>
  </body>
</html>

$(“.link”)。在(“单击”,函数(){
$.ajax({
url:“您的_php_script.php”,
数据类型:“json”,
cache:false,
成功:功能(数据){
位置。重新加载(true);
}
});
});
加载新任务

当您单击“a”标记时,jQuery Ajax脚本将调用您的php脚本,当它成功返回时,您的页面将被刷新。

确实有,它被称为Ajax。使用Ajax+jQuery来实现您的目标。.您应该使用Ajax来实现这一点,我想OP可以做到;)在这种情况下,您并不真正需要AJAX。如果确实希望重新加载页面,为什么需要隐藏的iframe来执行?您可以发布运行PHP脚本的整个页面,并一次性重新加载页面
<script type="text/javascript">
  $(".link").on("click", function() {
    $.ajax({
      url: "your_php_script.php",
      dataType: "json",
      cache: false,
      success: function(data) {
        location.reload(true);    
      }
    });
  });
</script>

<html>
  <body>
    <a class="link" target="target">Load new tasks</a>
  </body>
</html>