表单提交后用JS或PHP重新加载当前页面/URI

表单提交后用JS或PHP重新加载当前页面/URI,php,javascript,jquery,codeigniter,Php,Javascript,Jquery,Codeigniter,免责声明:我是网络开发新手 我正在使用CodeIgniter创建一个事件日历,当我更新一个事件(使用js)时,我需要重新加载我当时所在的当前页面。到目前为止,我所能做的就是重定向到包含calendar类的主控制器,它将我带回当月。对于在当前月份以外的其他月份编辑一个事件的人来说,这太糟糕了。关于使用/做什么有什么想法吗?非常感谢你的帮助 控制器: if ($this->events->update($data)) { redir

免责声明:我是网络开发新手

我正在使用CodeIgniter创建一个事件日历,当我更新一个事件(使用js)时,我需要重新加载我当时所在的当前页面。到目前为止,我所能做的就是重定向到包含calendar类的主控制器,它将我带回当月。对于在当前月份以外的其他月份编辑一个事件的人来说,这太糟糕了。关于使用/做什么有什么想法吗?非常感谢你的帮助

控制器:

if ($this->events->update($data))
            {
                redirect('user/planner');
            }
            else
            {
                show_404();
            }
视图/表格:

<div class="reveal-modal" id="myModal">
    <?php echo form_open('user/planner/update/'.$event->id, 'id="updateForm"'); ?>

    <h3><?php echo $event->type ?></h3>

    <h4><label for="status">Status</label></h4>
    <p><?php echo form_dropdown('status', $status_options, $event->status ) ?></p>

    <h4><label for="title">Title</label></h4>
    <p><input type="text" id="title" name="title" value="<?php echo $event->title ?>" /></p>

    <h4><label for="content">Content</label></h4>
    <p><textarea rows="7" id="content" name="content"><?php echo $event->content ?></textarea></p>

    <p><?php echo form_submit('submit','Save') ?></p>

    <?php echo form_close(); ?>
</div>
试一试

而不是返回

试试看


而不是返回

您应该像Jan所说的那样重新加载document.location(
document.location.reload()
),但只有在请求成功时才应该这样做,因此您的代码如下所示:

$.post(url, data, function(response) {
    document.location.reload();
});
jQuery手册
jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])

  • url
    -包含请求发送到的url的字符串
  • 数据
    -随请求发送到服务器的映射或字符串
  • success(data,textStatus,jqXHR)
    -请求成功时执行的回调函数
  • 数据类型
    -期望从服务器获得的数据类型。默认值:智能猜测(xml、json、脚本或html)

  • 您应该像Jan所说的那样重新加载document.location(
    document.location.reload()
    ),但只有在请求成功时才应该这样做,因此您的代码如下所示:

    $.post(url, data, function(response) {
        document.location.reload();
    });
    
    jQuery手册
    jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])

  • url
    -包含请求发送到的url的字符串
  • 数据
    -随请求发送到服务器的映射或字符串
  • success(data,textStatus,jqXHR)
    -请求成功时执行的回调函数
  • 数据类型
    -期望从服务器获得的数据类型。默认值:智能猜测(xml、json、脚本或html)

  • 这就是我最后所做的,它非常有效<代码>位置。重新加载();返回falselocation.reload()重新加载当前页面并
    返回false避免了来自控制器的重定向。非常感谢你的帮助!这就是我最后所做的,它非常有效<代码>位置。重新加载();返回false
    location.reload()重新加载当前页面并
    返回false避免了来自控制器的重定向。非常感谢你的帮助!这实际上更接近于最终所需的正确答案(我将在应该得到赞扬的地方给予赞扬)。谢谢!这实际上更接近于最终所需的正确答案(我将在应该得到赞扬的地方给予赞扬)。谢谢!
    
    $.post(url, data, function(response) {
        document.location.reload();
    });