繁体   English   中英

Codeigniter和Ajax自动保存不起作用

[英]codeigniter and ajax autosave doesn't work

我有一个计时器,例如60分钟,我想每隔1秒保存一次计时器。 我的代码在本地正常运行,但是当我在线上传时。 它不再起作用了。 我收到“ 500(内部服务器错误)”信息,请帮帮我。 非常感谢您的帮助。 十分感谢大家!

数据库

CREATE TABLE IF NOT EXISTS `timer` (
  `id` int(6) NOT NULL,
  `time` int(6) NOT NULL COMMENT 'in minutes',
  `remaining_time` int(6) NOT NULL COMMENT 'seconds',
  `type_id_fk` int(6) NOT NULL,
  `section` int(6) NOT NULL,
  `user_id_fk` int(6) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

控制者

public function updatetimer() {
        $this->Mpractice->updateTimer();
    }

模型

function updateTimer() {
        //TIMER VAR
        $timer_id = $this->input->post('timer_id');
        $remaining_time = $this->input->post('remainingTime');

        $this->db->trans_start();
        $this->db->query("UPDATE `toefl`.`timer` SET `remaining_time` = '$remaining_time' WHERE `timer`.`id` = $timer_id;");
        $this->db->trans_complete();
}

视图

<div class="clock"></div>
<form method="post" action="">
    <input type="hidden" id="remainingTime" value="<?= $this->Mpractice->get_timer($type); ?>">
    <input type="hidden" id="timer_id" name="timer_id" value="<?= $this->Mpractice->get_timer_id($type); ?>">
</form>

脚本

<script>
    $(document).ready(function () {
//        GET REMAINING TIME
        var doUpdate = function () {
            $('#remainingTime').each(function () {
                var count = parseInt($(this).val());
                if (count !== 0) {
                    $(this).val(count - 1);
                }
            });
        };
        // Schedule the update to happen once every second
        setInterval(doUpdate, 1000);
//        UPDATE TIMER EVERY 1SECOND
        setInterval(function () {
        $("#remainingTime, #timer_id").autosave({
            url: "<?= site_url('practice/updatetimer'); ?>",
            type: "POST",
            dataType: "html",
            grouped: true, //send data for all fields with the autosave
            success: function () {
            }
        });
        }, 1000);
    });
</script>

解决方案1:首先检查它,您已经在表单中使用了** short tag [ <?= ?>] **,请检查您的实时服务器中phpinfo短标记是打开还是关闭。

解决方案2:如果代码中出现500个内部服务器错误,则很可能是语法问题或SQL查询问题。 请检查一下。

如果您使用AJAX,请检查控制台以获取所有PHP ERORR的响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM