【问题标题】:Clicking browser back button gives a error message "Confirm form resubmission" in codeigniter单击浏览器后退按钮会在 codeigniter 中显示错误消息“确认表单重新提交”
【发布时间】:2016-06-10 03:07:06
【问题描述】:

我知道这个网站上发布了类似的问题。但我有不同的问题。请看一次下面的描述。我已经查看了所有答案,但没有从中得到任何有用的答案。

我有一个“视图”,比如 View1,其中提供了一个搜索表单。在名为 'Home' 的控制器中,有两个名为 'find' 和 'advsearch' 的函数,它们仅指向 'View1'。

  1. 假设当前我们在 URL 中输入 'home/find',会显示 'View1'。
  2. 如果我提交 View1 上的“搜索表单”,表单将指向“home/advsearch”,结果显示在同一视图“View1”上。
  3. 如果我点击浏览器的后退按钮,它会再次转到 url 'home/find' 并显示 'View1'。这是预期的并且工作正常。

问题:多次提交“搜索表单”,在View1上一直显示搜索结果。但是当我们点击浏览器的后退按钮时。它显示 URL 'home/advsearch' 但抛出错误消息“确认表单重新提交”。

如何处理,所以点击后退按钮,它应该显示数据但不显示重新提交错误消息?

【问题讨论】:

  • 如果您使用相同的视图,为什么不使用 ajax 提交表单?
  • 嗨 Adrien,感谢您的建议..我按照您的建议进行了尝试..但是我通过 ajax 获得的数据没有传递给控制器​​..我已经检查了控制台日志中的数据。 .提交后正常运行..请在下面找到我的ajax代码,如果我做错了什么,请告诉我..我试图在控制器中获取数据 $this->input->Post(something);跨度>
  • var post_data = { 'all_locations': all_location, 'exp':experience, 'allskills':skills, 'postedby':posted_by }; $.post('',post_data,function(data){ $('.main_container').html(post_data); }); }); });

标签: php forms codeigniter


【解决方案1】:

我遇到了同样的问题并找到了最简单的解决方案。很可能是处理搜索请求的正确方法。只需将搜索表单的方法更改为 GET 并在 url 中传递关键字。

接收表单数据:

$this->input->get('input_name');

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2013-08-11
    • 2012-11-08
    • 2015-07-01
    • 2013-08-25
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多