【问题标题】:auto refresh controller function in codeignitercodeigniter中的自动刷新控制器功能
【发布时间】:2015-08-14 15:04:19
【问题描述】:

大家好,我想在 5 秒后自动刷新控制器功能 我在控制器功能中使用header('Refresh: 10.2');,例如

public function delete()
    {

        header('Refresh: 10.2');
        $current_time=date('H:i:s',strtotime("+3 hours"));
        $email=$this->session->userdata['email'];
        $end_time=$this->model_user->get_res_endtime($email);
        if($current_time>$end_time || $current_time <'00:59:59')
        {
            $this->model_user->move_reserve($end_time,$email);

            $this->model_user->up_qty_del($email);

            $this->model_user->delete_reserve($end_time,$email);
        }

    }

但是这个刷新整个页面也有什么方法可以只刷新功能呢? 提前致谢

【问题讨论】:

  • 为此创建单独的函数,每 5 秒通过 AJAX 调用一次。
  • @llan Hasanov 你能说出代码吗?
  • 我已经为你发布了答案,让我知道它是怎么回事..

标签: javascript php jquery ajax codeigniter


【解决方案1】:

根据您的要求..您可以尝试这样的事情。 控制器:

public function delete()
{

    $current_time=date('H:i:s',strtotime("+3 hours"));
    $email=$this->session->userdata['email'];
    $end_time=$this->model_user->get_res_endtime($email);
    if($current_time>$end_time || $current_time <'00:59:59')
    {
        $arr["message"] = "1";
        $this->model_user->move_reserve($end_time,$email);
        $this->model_user->up_qty_del($email);
        $this->model_user->delete_reserve($end_time,$email);
        print(json_encode($arr));
        exit;
    }

}

jQuery:

$(document).ready(function () {
    (function delete() {
        //run the request
        $.ajax({
            type: "POST",
            url: "Controller/Deletefunction",
            async: true, //Hey browser! run the code
            //if we prased data run:
            success: function (data) {
                /* we prase data (data can be anything)
                 * data is json_encoded data format coming from
                 */
                var obj = JSON.parse(data);
                // if we prased data:
                if (obj) {
                    console.log(obj);
                    // chrome console log should show here "success"
                    if (obj.count > 0) {
                        // Schedule the next request when the current one's complete
                setTimeout(delete, 5000);
            }
        });
    })();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2012-04-06
    • 2017-09-01
    • 1970-01-01
    • 2015-11-25
    • 2015-03-25
    • 2011-07-27
    相关资源
    最近更新 更多