codeigniter和ajax自动保存不起作用

时间:2015-10-29 08:52:47

标签: php jquery codeigniter

我有一个计时器让我们说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 个答案:

答案 0 :(得分:0)

解决方案1:先检查一下,您已在表单中使用** short tag [ <?= ?>] **,请在您的实时服务器中登录或关闭phpinfo短标记。

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

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