【问题标题】:refresh one php from another from button onclick从按钮 onclick 从另一个刷新一个 php
【发布时间】:2016-02-19 12:01:43
【问题描述】:

我有一个拍卖网站,希望在发布新出价时为所有人刷新物品页面。 项目页面称为 item.php。 我在想的是,当单击按钮时将新出价发布到数据库时,相同的单击会刷新 item.php。 我正在查看的代码是

if (!isset($_POST['action']) && !isset($_GET['refresh'])) {
  header("Location: /item.php?refresh");
}|| isset($errmsg))

原来的代码是

if (!isset($_POST['action']) || isset($errmsg))

但这不起作用。

我想知道是否有一个简单的onclick 解决方案可以添加到按钮中,以便为每个人刷新 item.php。 我还查看了 AJAX,但我不明白如何在这里应用它。 对此最佳解决方案的任何建议表示赞赏。

【问题讨论】:

  • 没有“简单”的解决方案。您需要查看套接字连接。
  • 使用Javascript刷新另一个页面
  • 要么您需要将信息从服务器推送到客户端(PHP 在这里会很棘手),要么您需要从客户端提取数据,您必须通过客户端中的 JavaScript 来完成(意思是您要刷新的页面)。
  • PHP 无法强制浏览器刷新,因为它在服务器上运行以生成内容。一旦页面被传送到浏览器,PHP 就不能再影响它了。您可以使用 javascript 来检查是否需要刷新,但这不是可扩展性或速度的最佳解决方案。

标签: javascript php jquery html ajax


【解决方案1】:

我会推荐一个 ajax 调用,该调用将在确定的时间间隔内执行到服务器以获得最新的出价,然后您可以比较显示的出价是否是最新的,然后如果需要,您可以刷新页面一个 location.reload();

【讨论】:

  • 这实际上出现了。我遇到的问题是该页面有一个页眉、正文和页脚容器,我在提取出价的相关信息时遇到了问题。我目前所做的是使用计时器和刷新按钮进行 30 秒刷新,但这不是最干净的解决方案。
【解决方案2】:

您可以通过使用 jquery load() 方法来实现。

每次插入新数据时都必须调用load()方法,它只会给出所有数据而不刷新页面。

例如: $("#yourDiv").load("www.yourdomain.com/item.php).

【讨论】:

  • 通过使用<div id="confirm"> <input type="hidden" name="action" value="bid"> <input type="submit" name="Input" value="{L_5199}" class="btn btn-primary"><br> </div> </div> </form> <script>$("#confirm").load("{SITEURL}item.php={ID}")</script> 将出价按钮包裹在出价中进行了尝试,我在bid.php 屏幕的底部显示了item/php 页面。
【解决方案3】:

检查thisthisthis 线程中接受的答案。希望你能在那里找到答案!

【讨论】:

  • 谢谢。长轮询似乎是答案,但老实说,这超出了我的范围。我想发布我的尝试,但它不适合。我认为它将作为代码插入item.php 以轮询服务器以获取{SITEURL}item.php?{ID} 的更新。任何帮助将不胜感激。
猜你喜欢
  • 2013-04-03
  • 2020-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多