Код ColdFusion выполняется, когда браузер запрашивает страницу. То есть, когда код отправляется в браузер, выполняются два запроса Coldfusion (так что каждый раз, когда кто-то просматривает страницу с вышеуказанным кодом, эти 2 запроса выполняются).
Вот как работает ColdFusion:
- Браузер запрашивает страницу с веб-сервера
- Веб-сервер обрабатывает весь код ColdFusion
- Веб-сервер отправляет полученный текст в браузер
- Браузер интерпретирует текст как веб-страницу
Ваша проблема возникает в 4. Код ColdFusion больше не существует! (Просмотреть исходный код страницы для просмотра.) Код ColdFusion уже был обработан еще на этапе 2 и не отправлен в браузер.
Так как вы решаете свою проблему? Что ж, поскольку обработка ColdFusion происходит после запроса страницы, вам нужно запросить страницу. Поскольку вы изменяете данные на сервере, вам нужно сделать сообщение, см. http://developer.yahoo.com/yui/examples/connection/post.html пример выполнения сообщения с помощью диспетчера соединений YUI.
Для простоты имейте две страницы, одну, которую запрашивают для принятия, а другую для отклонения. На странице просто сделайте соответствующий CFQUERY. Теперь, в ваших функциях handleAccept и handleRequest, запрашивайте эти страницы, как в примере с диспетчером соединений YUI выше. например.
var callback =
{
success: function(o){},
failure: function(o){},
argument: []
};
var request = YAHOO.util.Connect.asyncRequest('POST', "accept.cfm", callback, "");