Показать сообщение отдельно
  #1 (permalink)  
Старый 27.01.2013, 14:58
Новичок на форуме
Отправить личное сообщение для Markus Посмотреть профиль Найти все сообщения от Markus
 
Регистрация: 19.04.2012
Сообщений: 3

Вернуть результат ajax в переменную
Приветствую всех!

Есть следующая задача.
function testfunction() {
	var objForm = $('testform');
	var myCallback = function(responseText) {
		var result = Json.evaluate(responseText);
		return;
    }

	var opt = {
	    method: 'post',
	    data: objForm,
	    onComplete: myCallback,
		evalScripts: true
	}
	new Ajax(siteURL + '/index.php', opt).request();
	return false;
}


При клике по ссылке вызывается функция testfunction(), которая отправляет посредством аякса запрос на сервер и в зависимости от данных формы возвращает набор данных.
После чего, используя полученные данные необходимо открыть окно
window.open(URL, "blank", 'scrollbars=0, resizable=1, menubar=0, left=' + left + ', top=' + top + ', width=' + width + ', height=' + height + ', toolbar=0, status=0');


Все работает если открытие окна происходит в теле callback функции, но в этом случае браузер блокирует это окно.
Если же открывать это окно после строки отправки запроса
new Ajax(siteURL + '/index.php', opt).request();

браузер открывает это окно даже не пискнув. Я так понимаю что он блокирует окно которое открывается имеено из callback функции, как-будто оно открывается без ведома пользователя.
Вопрос в следующем: как заставить браузер не блокировать окно, либо как вернуть данные из callback функции и выполнить скрипт с этими данными вне callback функции.
Буду рад любой помощи. просто ткните в какую сторону копать
Ответить с цитированием