【问题标题】:reload php page with javascript用javascript重新加载php页面
【发布时间】:2013-10-20 18:24:56
【问题描述】:

我在 php 页面中绘制了一个棋盘。每一块都设置为可拖动,每块瓷砖都设置为可放置。一旦一块放在瓷砖上,我想重新加载 php 页面,以便可以重新绘制板以及新位置。 我该怎么做:使用 javascript 重新加载 php 页面,而不显示要求确认的窗口,例如“要显示此页面,Firefox 必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息.->取消;重新发送”?

或者也许有更好的解决方案?

【问题讨论】:

  • 使用 GET 而不是 POST 向服务器发送信息。

标签: javascript php


【解决方案1】:

如果您想避免刷新报告数据(出于任何原因,包括用户单击重新加载按钮),请使用 POST-REDIRECT-GET 模式 (http://en.wikipedia.org/wiki/Post/Redirect/Get)。阅读它,它将解释该怎么做。

快速解决方案:您可以尝试:

window.location.reload(true); //true sets request type to GET

使用 GET,而不是 POST,您得到的对话框将会消失。

祝你好运!

【讨论】:

  • 谢谢。它确实重新加载了 php 文件。然而,确认窗口仍然弹出。此外,我的作品似乎需要更多时间才能出现在我的板上,而如果没有 javascript,它们很快就会出现。这是正常现象吗?
  • 您确定使用 GET 而不是 POST 向服务器发送信息吗?只有在您使用 POST 时才会出现这种情况……是的,这很正常。你必须优化你的代码:)
  • 是的,谢谢它现在可以工作了 :) 虽然我想我会直接修改 DOM 以在 javascript 中移动片段。
【解决方案2】:

利用

window.location.reload();

【讨论】:

    【解决方案3】:

    会自动刷新

    <script>
        var timer = null;
        function auto_reload()
        {
            window.location = 'http://domain.com/page.php';  //your page location
        }
    
    </script> 
    
    
    <!-- Reload page every 10 seconds. -->
             <body onload="timer = setTimeout('auto_reload()',10000);">
    

    参考http://davidwalsh.name/automatically-refresh-page-javascript-meta-tags

    【讨论】:

    • 谢谢,很有用
    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2013-07-31
    • 1970-01-01
    相关资源
    最近更新 更多