YII 1.1 CGridView внутри CJuiDialog вызывает дублирование вызовов ajax
Я занимаюсь обслуживанием ОЧЕНЬ старого сайта YII 1.1, и есть ссылка, которая вызывает модальное окно с двумя видами сетки: для поиска файла и одно для поиска устройства для отправки файла. Идея состоит в том, что вы можете выбрать более одного файла и отправить его на одно или несколько устройств. Все работает, но я получаю ужасные повторяющиеся вызовы ajax. Я нажимаю на ссылку, чтобы представить модальное окно, и выполняю поиск файла... один вызов ajax для поиска файла по имени. Я решаю закрыть модальное окно, снова нажимаю на ссылку, и модальное окно загружается, я ищу файл и делаю 2 вызова ajax.... а затем 3, если я закрываю и открываю модальное окно, а затем 4 . .... каждый раз, когда я закрываю и открываю модальное окно, добавляется еще один вызов.
Я нашел ссылку, в которой говорилось, что нужно дать CJuiDialog uniqid()... не помогло.
Я нашел еще несколько случаев на сайте, где возникла эта проблема, но ни один из них, похоже, не исправил ее, в основном они обходят ее, перезагружая страницу после закрытия модального окна.
Существует много кода, который делает:
'close' => 'js:function() {
$("#send_file_dialog").dialog("destroy").remove();
$("body").undelegate("#sendFilesButton", "click");
}',
Сейчас я нахожусь в том месте, где я понятия не имею, как заставить это работать (правильно). Несколько вызовов ajax просто раздражают, если вы выбираете файл из GridView только для того, чтобы другой вызов ajax возвращал тот же набор результатов и не проверял ваш выбор.
Любая помощь будет принята с благодарностью.