Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我希望我的页面只刷新一次_Javascript_Php_Jquery - Fatal编程技术网

Javascript 我希望我的页面只刷新一次

Javascript 我希望我的页面只刷新一次,javascript,php,jquery,Javascript,Php,Jquery,我正在制作一个管理页面,我可以删除用户,但当我删除一个用户,我必须刷新页面 我使用了页眉刷新,但它多次刷新了我的页面,我希望我的页面只刷新一次 你们能帮帮我吗 您可以使用 1) 位置重新加载() 2) window.location.href首先,您应该创建两个PHP函数。一个用于显示用户列表,另一个用于删除用户。两者都使用不同的URL 然后,遵循以下流程: 用户转到用户列表页面 用户单击删除按钮,该按钮调用删除操作(删除URL) 删除操作删除记录并将重定向头发送回用户列表操作 用户被重定向

我正在制作一个管理页面,我可以删除用户,但当我删除一个用户,我必须刷新页面

我使用了页眉刷新,但它多次刷新了我的页面,我希望我的页面只刷新一次

你们能帮帮我吗


您可以使用 1) 位置重新加载()
2) window.location.href

首先,您应该创建两个PHP函数。一个用于显示用户列表,另一个用于删除用户。两者都使用不同的URL

然后,遵循以下流程:

  • 用户转到用户列表页面
  • 用户单击删除按钮,该按钮调用删除操作(删除URL)
  • 删除操作删除记录并将重定向头发送回用户列表操作
  • 用户被重定向回用户列表操作,整个循环可能会重复自身
  • 如果用户删除功能出错,您有两种选择。删除操作都可以显示带有附加消息的用户列表。或者-好得多-它可以重定向回用户列表操作,但需要附加参数(保存在会话中、编码在URL中、cookie等)。在用户列表操作中始终选中此参数,如果存在,则显示相应的状态消息。为了防止状态消息显示两次,您可以在用户列表操作(所谓的闪存消息)中读取参数(cookie、会话等)后立即删除该参数

    一般来说,最好将向用户显示UI的操作与实际执行的操作(删除记录、插入新记录等)分开。这样,您可以更好地控制流程。所有像样的框架都允许这种方法(例如,在Symfony中,您可以为某个URL上的GET请求创建控制器函数,为同一URL上的POST或DELETE请求创建另一个控制器函数)


    同样,正如我在下面的问题中所说的那样,您应该明确地考虑使用模板框架来进一步将视图与逻辑分开。Twig和Smarty是值得考虑的选择(我投票支持Twig)。

    您可以使用此代码,我希望它会有所帮助

    if($queryfired){
    echo '<script>alert("Record Deleted:")</script>';
    echo '<script>window.location.href="somepage.php";</script>';
    }
    
    if($queryfired){
    回显“警报”(“记录已删除:”);
    echo'window.location.href=“somepage.php”;
    }
    
    您应该在删除查询后获得用户这不是答案,只是一条评论,而是。。。请注意,将HTML和PHP代码混合使用是一种非常糟糕的做法,尤其是您的做法。我强烈建议使用适当的模板框架,例如Twig或Smarty(我推荐Twig)。此外,最好使用关联行名称,而不是数字。通过这种方式,您在任何时候修改用户表(添加列等)时都必须更改模板。谢谢您的评论。所以你建议我这样做:1你进入删除页面2你点击删除3你按下删除后你被重定向到另一个页面4你再次进入删除页面,这次它被刷新了?还是我完全错了。我会防御性地看一看小树枝。总的来说——是的。有一点很重要:第二页(实际的删除操作)不应该呈现任何内容,只在成功/失败时重定向到第一页(带有用户列表)。还有一件事。如果这对您的代码来说还不算太晚,我还强烈建议您使用适当的PHP框架。这会让你减轻很多负担(正确的路线、安全等)。Symfony作为一个整体是一个不错的选择。许多人也使用Zend。如果你喜欢微缩框架,甚至是Silex。类似地,拉维尔最近也受到了很多关注。我个人使用Symfony编写代码,但选择对您和您当前的技能最有利的选项。然后,如果这样做有效,请接受答案:)如果这样做无效,那么接受另一个答案(您也可以添加自己的答案并接受它)。这是StackOverflow的一种习惯,你知道,不接受答案的用户将受到惩罚。@Furkan如果这个答案有用,请投票支持这个答案。