Размещение данных на другой странице ExtJs

Я пытаюсь опубликовать массив с помощью запроса POST на определенную страницу, целевая страница генерирует csv и отправляет мне поток обратно, прямо сейчас я использую класс ExtJs Ajax, но это не будет работать, как мне нужно чтобы сделать обычный HTTP-запрос, а не ajax, мой текущий код выглядит следующим образом:

Ext.extend(Players.panel.Home,MODx.Panel,{
    exportSubscribers: function(btn,e) {
            MODx.Ajax.request({
                url: Players.config.connectorUrl 
                ,params: {
                    action: 'mgr/player/getSubscribers'
                }

            });
        }
});

Функция exportSubscribers выполняется из обычной кнопки ExtJs.

{ xtype: 'button'
  ,text: 'Export Subscribers'
  ,preventRender: true
  ,handler: this.exportSubscribers
    }

Какой класс я должен использовать, чтобы превратить это в обычный запрос?

Спасибо.


person Yehia A.Salam    schedule 14.08.2011    source источник


Ответы (2)


Не существует класса для выполнения обычного запроса. Я знаю два способа выполнить загрузку файла:

  • Используйте скрытую форму на странице, замените значения полей и вызовите метод формы .sumbit из обработчика кнопок ExtJS, чтобы выполнить нужный запрос POST.
  • Замените кнопку на якорь HTTP, если вы можете использовать запрос GET, чтобы заставить сервер вернуть файл: <a href="url?params" title="Download CSV">Download CSV</a>'
person pablodcar    schedule 15.08.2011
comment
я попробовал первый подход, столкнулся с другой проблемой stackoverflow.com/questions/7068191/ - person Yehia A.Salam; 15.08.2011

Вам лучше сделать локальный запрос на ваш сервер, а затем в коде на стороне сервера сделать запрос cURL к источнику CSV. Таким образом, вы можете создать метод, отличный от XMLHttpRequest, для получения ваших данных.

person JamesHalsall    schedule 15.08.2011
comment
я генерирую источник csv в файле, вопрос в том, как выполнить файл, обрабатывающий генерацию, через обычный HTTP POST, а не ajax, я думаю, что я должен поместить кнопку в форму с действием отправки - person Yehia A.Salam; 15.08.2011
comment
зачем вам регулярный запрос? - person JamesHalsall; 15.08.2011
comment
поэтому я могу свободно изменить заголовок HTTP и вернуть поток csv, насколько я понимаю, я не могу вернуть что-то подобное в запросе AJAX, верно? - person Yehia A.Salam; 15.08.2011