Запускать js функцию после обновления данных в mysql БД.
Доброго времени.
Студент, столкнулся с такой проблемой. Делаю web-интерфейс для работы с mysql таблицей. Все минимально, панель управления (несколько вкладок, ajax)+ вывод таблицы. На onclick ивенты у меня заваязано две js функции. Первая js функция посылает данные из формы в php файл, который уже работает непосредственно с БД. (там у меня одностраничный ajax, поэтому не посылаю напрямую в php из html формы). Вторя же js функция - обращается к другому php файлу, и заново выводит таблицу, с уже обновленными данными. (вторую функцию можно поместить непосредственно в конце тела первой и не вызывать отдельно, но это результата не меняет вроде). Проблема следующая - иногда первая функция отрабатывает дольше второй, и соответственно выводится таблица с еще не обновленными данными. Проблема точно в скорости - я смотрел и сравнивал тайминги, если первая функция отрабатывает быстро - выводится корректная обновленная таблица. Если же первая функция работает медленней - вывод не корректный. Собственно вопрос, как в такой ситуации сделать вывод таблицы на страницу только после обновления данных в БД? Буду благодарен за любую наводку, даже не знаю как сформулировать запрос гуглу по этому вопросу. |
Делай все одним запросом. Какого хрена ты их плодишь? Чеж тогда в три, в четыре запроса не сделаешь обновление?
|
HTTP-запрос - это всегда Запрос + Ответ:
Запрос: Клиент -> (Данные на запись) -> Сервер Ответ: Клиент (Данные на отображение) <- Сервер Как видишь, все выполнимо в один запрос. Второй просто не нужен. |
Несколько файлов потому, что там разные запросы бывают - на добавление, редактирование, удаление, поиск. И они дают свои ответы, вроде: строка такая-то удалена успешно или ошибка ввода такая-то, в выделенный под них див. На а вывод таблицы я отдельно сделал, чтобы не дублировать в каждый запрос - там приличный кусок, который учитывает поиск и разные сортировки. Если я все это дело в один запрос попробую объединить, предполагаю выйдет свалка. А так понятно что, где, и за что отвечает.
В принципе, мне скорей всего поможет onload в XMLHttpRequest, упустил что такой метод есть, сейчас изучаю. upd. Разобрался. Действительно, перелопатил код и сделал все одним запросом без велосипедов. По неопытности понесло куда-то не туда. |
Часовой пояс GMT +3, время: 20:30. |