Отладка PHP / JS в веб-приложении CI - PullRequest
2 голосов
/ 25 апреля 2011

Мне показалось, что я отлично справляюсь с этим веб-приложением, над которым я работаю, но, увы ... Я начинаю думать, что я его плохо спроектировал, хотя я начинал как 6 раз, изучая инфраструктуру CI.

Приложение здесь , и моя проблема заключается в следующем: например, при переходе на 31 декабря 2011 г. (нажав стрелку вправо и щелкнув 31-е), вы получите красные ошибки и мои заголовки таблиц (вторая часть страницы) сходят с ума. После этого вы должны попытаться вернуться и сказать… 1 апреля, вы увидите, что мои заголовки становятся еще более сумасшедшими, просматривая некоторые вещи, которые я не знаю, откуда они берутся. Если вы перейдете ко 2 апреля, то увидите, что он все еще проходит через все это, даже если это не так.

Я не уверен, как это отладить, я даже не знаю, в чем проблема: в моем вызове AJAX или в моем PHP-коде.

Мой исходный код можно найти здесь . Используемые файлы:

/logic/controllers/planner.php
/logic/models/planner_model.php
/logic/views/planner/days_content.php
/logic/views/planner/detail_content.php

Кто-нибудь будет так любезен взглянуть на это и помочь мне найти проблему здесь? Я, честно говоря, не уверен, где искать решение этой проблемы. Я могу предоставить больше информации о том, как работает мое приложение, если это необходимо.

Я в основном храню все в массиве и передаю это в представление. Когда я выполняю AJAX-вызов, я обновляю массив и снова загружаю представление, после чего я передаю его на свою страницу, используя .html().

Большое спасибо.

1 Ответ

1 голос
/ 25 апреля 2011

Вы можете использовать firebug для firefox для отладки ajax / javascript.Когда я нажимаю на дату, происходит несколько вызовов ajax.Я думаю, что это происходит, потому что у вас есть обработчик js click внутри date_content.php, который загружается каждый раз, когда вы нажимаете стрелку вправо / влево.Поэтому с датами связаны несколько обработчиков кликов.

$("#day_list li").live("click", function() {
$(".selected").removeClass("selected");
var day = $(this).attr('value');
$(this).addClass('selected');
$.ajax({
type: "POST",
url: "/planner/change_detail",
data: { day: day, month: current_month, year: current_year },
success: function(data)
{
$("#detail_content").html(data);
}
})
});

Я говорю о приведенном выше коде, который у вас есть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...