LINUX.ORG.RU

Ответ от PostgreSQL


0

0

Ubuntu 8.04/Apache 2.2.8/mod_perl/jQuery 1.3.2/Postgresql.
Отлаживал через Firebug.

На кнопку повешен вызов функции:
function doDelete_tiporg() {
$.post( "/perl/docum_tiporg_web.pl",
{ operation: "delete", id: $('#tiporg_id').val() }
);
doSearch_tiporg();
}

doSearch_tiporg вызывает "/perl/docum_tiporg_web.pl",
принимает json и обновляет элементы.

На локальном компьютере с полным совпадением конфигов все работает.
На сервере doSearch_tiporg() - возвращает неизмененные данные,
но реально запись удалилась.
Время выполнения каждой функции примерно 15ms.
PostgreSQL не делает commit или браузер кеширует?


По дефолту $.post асинхронный (т.е. doSearch_tiporg(); начнет выполнятся не ожидая ответа сервера на предыдущую команду), и похоже, что sql-запрос из doSearch_tiporg() успевает выполнится до того, как подтвердится транзакция, в которой производилось удаление.

Либо объединить серверные методы в один (удалить и вернуть json), либо вызывать $.post синхронно.

gdv2
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.