Я пишу приложение, которое использует ajax для извлечения данных из базы данных mysql с использованием php. Из-за характера приложения пользователь щелкает ссылку href с событием «onclick», используемым для вызова javascript / ajax. Я извлекаю данные из mysql, затем вызываю отдельную функцию php, которая создает небольшую HTML-таблицу с необходимыми данными. Новая таблица передается обратно в responseText и отображается внутри тега div. В таблицах содержится всего около 10-20 строк данных. Эта функциональность работает нормально и отображает данные в формате HTML точно так, как это должно быть на странице.
Проблема заключается в следующем. Событие HREF «onclick» должно запускать несколько сценариев один за другим. Первый скрипт обновляет «существующие» данные, а внутри функции «update_existing» - это вызов для обновления раздела страницы обновленным HTML-кодом из responseText. Затем, когда это делается, вызывается функция display_html, которая также обновляет другой раздел страницы с помощью вновь созданной таблицы HTML. Событие выглядит так:
Обновление
Эта строка создается динамически с использованием php с предоставленными параметрами, но для этого примера я просто вынул параметры, чтобы они не запутались.
Функция "update_existion () фактически вызывает функцию display_html (), которая обновляет раздел страницы по мере необходимости. Мне нужно обновить другой раздел страницы одним и тем же щелчком мыши сразу после обновления, что почему я снова вызываю display_html (), сразу после него. Проблема в том, что на моем экране обновляется только последний вызов. Другими словами, второй вызов функции "display_html ()" выполняется и отображает обновленные данные очень хорошо , но предыдущий вызов update_existing () запускает и корректно обновляет базу данных, но не отображается на экране, пока я не нажму кнопку «обновить» в браузере, которая, конечно, отображает новые данные именно так, как я хочу, но я Я не хочу, чтобы пользователям приходилось нажимать кнопку «обновить». Я попытался добавить несколько вызовов «display_html () один за другим, разделяя их все точкой с запятой, и узнал, что только самый последний вызов функции фактически обновил элемент div на html-странице с таблицей информация, хотя все предыдущие вызовы display_html () работали, их нельзя было увидеть на странице без обновления браузера.
Это проблема с javascript или вызовом ajax, или это ограничение в DOM, которое позволяет обновлять только один элемент за раз. Вызов ajax является асинхронным, но я пробовал оба, только период асинхронных работ. Это одинаково в Firefox и Internet Explorer
Есть идеи, что происходит и как обойти это, чтобы я мог запустить эти несколько сценариев?