Yii Post запрос на текущую страницу?

Рейтинг: 0Ответов: 1Опубликовано: 10.04.2015

в пхп постоянно пользовался пост запросами. а в yii чет все идет через контроллеры, аякс и прочее. как мона реализовать следующее

<form id="newForm"  method="post">
<input type="submit" name="ex" value="Excel"newForm").submit()">

if(isset($_POST["ex"])) 
    {
      header('Content-Type: text/x-csv; charset=utf-8');
      header("Content-Disposition: attachment;filename=".date("d-m-Y")."-export.xls");
      header("Content-Transfer-Encoding: binary ");
    }

Ответы

▲ 2Принят

В Yii (если не делать все совсем по фен-шую) на самом деле все будет мало чем отличаться:

public function actionSomething()
{
    if (Yii::app()->request->getPost('ex')) {
        // обработка
    }
    // вывод формы
}

По фен-шую это необходимо разделить на два отдельных экшена и настроить их разделение по одному URL через роутинг (для GET-запросов один, для POST-запросов другой). В этом случае надо будет все-таки переделать форму, вставив туда генерацию ссылки (в этом случае роутинг может быть безболезненно изменен), а также добавить редирект в конец POST-экшена.

P.S. onclick не нужен вообще,он репродуцирует текущее поведение формы.