Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задержка до ответа от сервера, Послать второй запрос сразу после ответа 
V
    Опции темы
Paher
Дата 19.10.2009, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



Добрый день!

Помогите, пожалуйста, с проблемой. Использую ExtJS. Посылаю запрос на создание файла на сервере, и сразу же командой 

Код

    window.open(host+'filename','Download')


пытаюсь скачать его.  Если файл большой, то просто не успевает создаться до запроса на чтение. Как создать задержку до полного создания файла? Люди подсказали

"в аякс есть настройка, которая позволяет не выполнять следующие действия, пока не будет получен ответ с сервера
  а во-вторых, обычно последующие действия всегда ставят по достижению readystate = 4 "


Как это сделать?

Это сообщение отредактировал(а) Paher - 19.10.2009, 08:50
PM MAIL   Вверх
comtat
Дата 19.10.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 5
Всего: 71



Цитата(Paher @  19.10.2009,  08:46 Найти цитируемый пост)
Посылаю запрос на создание файла на сервере

каким образом ?


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Paher
Дата 19.10.2009, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



Код


     var expData = new Ext.data.Store({
            proxy: new Ext.data.HttpProxy({
                method    : 'GET',
                url: host+server+'modules/files/filesres.php'
            }),
            reader: new Ext.data.JsonReader({
                root: 'result',
                totalProperty: 'totalcount'
                }, [
                    {name: 'Done', mapping: 'done'}
                ]
            ),
            baseParams: {act: 'export', sel: '<?php echo $_REQUEST['sel'] ?>'},
            autoLoad: true,
            remoteSort: true,
            listeners: {
                'beforeload' : function(){
                    this.baseParams.qt = Ext.getCmp('combo').getValue();
                    this.baseParams.ins = Ext.getCmp('insp').getValue();
                    this.baseParams.query = Ext.getCmp('query').getValue();
                }
            }   
        }); 
        expData.load(); 
        window.open(host+server+'modules/files/export.zip','Download');


Вот так. может и неправильно создавать Store, не получая никаких данных от сервера (поле Done можно убрать, только для проверки ввел), но как еще послать запрос я не знаю. Если есть еще варианьы, буду благодарен за подсказку.

Запрос посылается при помощи функции load()

Это сообщение отредактировал(а) Paher - 19.10.2009, 13:20
PM MAIL   Вверх
comtat
Дата 19.10.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 5
Всего: 71



Код

Ext.Ajax.request({
    url        : урл_для_запроса_создания_файла,
    success    : function(response) { // Если все удачно ...
        // Тут создаем окно и позволяем скачать
    }
});



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
Paher
Дата 20.10.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



Спасибо, попробую
PM MAIL   Вверх
Paher
Дата 12.11.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



возникла еще одна проблема. такой код 

Код

Ext.Ajax.request({
    url        : урл_для_запроса_создания_файла,
    success    : function(response) { // Если все удачно ...
        // Тут создаем окно и позволяем скачать
    }
});


работает, только если  файл со страничкой, посылающей запрос, и обрабатывающий файл работают на одном сервере. при разнесении на разные сервера ветка success не работает... firebug в ответе сервера показывает пустоту.



PM MAIL   Вверх
Paher
Дата 22.3.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



Ну что, никто не сталкивался с таким? 
PM MAIL   Вверх
skyboy
Дата 22.3.2010, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



в смысле, скрипт из страницы с одного домена посылает запрос ajax по URL другого домена? в нормальных условиях это недопустимо - вопрос  безопасности и подобные запросы блокируются. обходные пути есть. 
PM MAIL   Вверх
Paher
Дата 22.3.2010, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



Премного благодарен
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.