Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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
PHP/JQuery-将页面重定向到AJAX请求_Php_Jquery_Ajax_Request_Forum - Fatal编程技术网

PHP/JQuery-将页面重定向到AJAX请求

PHP/JQuery-将页面重定向到AJAX请求,php,jquery,ajax,request,forum,Php,Jquery,Ajax,Request,Forum,我在我的网站上设计了一个论坛,通过AJAX请求进行操作,因此URL根本不会改变。单击一个按钮,AJAX请求一个PHP文件,响应将更新客户端。这对我来说是可行的——但是,我需要知道是否有可能在表单提交后通过一系列AJAX请求重定向用户 用户进入forum.php页面 用户单击主题按钮(加载线程的AJAX请求) 用户单击线程标题(加载回复的AJAX请求) 用户单击回复按钮(AJAX请求加载文本编辑器) 用户点击提交(AJAX请求提交表单) 此时,我想将用户重定向回该特定线程,因此我相信他们需要通过一

我在我的网站上设计了一个论坛,通过AJAX请求进行操作,因此URL根本不会改变。单击一个按钮,AJAX请求一个PHP文件,响应将更新客户端。这对我来说是可行的——但是,我需要知道是否有可能在表单提交后通过一系列AJAX请求重定向用户

  • 用户进入forum.php页面
  • 用户单击主题按钮(加载线程的AJAX请求)
  • 用户单击线程标题(加载回复的AJAX请求)
  • 用户单击回复按钮(AJAX请求加载文本编辑器)
  • 用户点击提交(AJAX请求提交表单)
  • 此时,我想将用户重定向回该特定线程,因此我相信他们需要通过一系列AJAX请求来引导。这可能吗


    额外:如果您认为此论坛过程效率不高,请告诉我您的意见。

    您似乎有一些选择:

  • 继续使用Ajax进行提交,因此无需重定向。(编辑:听起来您已经在这样做了,所以问题可能是您正在丢弃要显示的内容,而不仅仅是暂时隐藏它)
  • 实现一种将页面直接加载到论坛的方法。这将是对ajax调用的补充。您可以跟踪论坛ID,将其包含在$\u POST参数中,并让服务器重定向到相应的URL
  • 生成javascript(或为您的固定javascript使用适当的字段/数据),这将导致页面在重新加载时自动进行必要的AJAX调用
  • 跳过Ajax,对所有内容都使用完整页面加载
  • 有时使用Ajax,有时使用页面加载,将事情混为一谈并不理想,但有时很难完全避免

    记住当用户点击后退按钮或浏览器中的历史记录时会发生什么。你想让他们在回击时离开你的应用程序吗?他们可能会在一个奇怪的地方混合ajax/页面加载。因此,人们喜欢(4)

    (2) 可能要做很多工作

    (1) 就可以了,后退按钮总是会让用户返回其他网站。就我个人而言,这不会困扰我

    (3) 这将是一种痛苦,也是缓慢的,然后你会得到相当奇怪的向前/向后的行为。避免


    (4) 可能是最好的。

    您不需要指定#5是否也是AJAX。如果PHP通过页面加载而不是AJAX来处理表单POST值,那么标准的做法是将它们返回原来的位置……我建议不要过度使用AJAX。对于论坛中的所有导航来说,这似乎很烦人。#5也是对php文件的AJAX请求(更新了问题)-我在考虑header()选项,但如果URL从未更改,我将如何指定@Kevin#u KinseyYou说“如果你认为这个论坛过程效率不高,请让我知道你的意见。”我就是这么说的。如果#5是ajax,那么“重定向”就不是你想要的。你仍然在正确的页面上。你永远不应该删除论坛内容,只需隐藏它,然后再次显示。#2非常完美-我已经为我的sql查询保存了变量。我用更小版本的ajax请求创建了一个JQuery函数,并对变量进行了硬编码以进行测试——它成功了!现在我将通过URL传递php文件中的变量,并使用GET方法接收它们,这应该是完美的。