Могу ли я иметь обычные параметры вместе с CGI::Application::Dispatch?

Я ценю возможность быть в состоянии сделать: http://server/controller/runmode или даже http://server/controller/runmode/id. Но если у меня есть много необязательных параметров, я бы хотел иметь возможность делать обычные: http://server/controller/runmode?foo=bar&baz=frew, тем более что у меня много JS, которые будут делать последнее для меня. Кто-нибудь знает способ разрешить эту функциональность?

Спасибо!

Редактировать: Хорошо, я понял это с помощью mpeters. Чтобы получить параметры, сгенерированные САПР, вы, очевидно, просто делаете $self->param('foo'), но если вам нужны обычные параметры, вы делаете $self->query()->param('bar')

2 ответа

Решение

Редактировать: Хорошо, я понял это с помощью mpeters. Чтобы получить параметры, сгенерированные САПР, вы, очевидно, просто делаете $self->param('foo'), но если вам нужны обычные параметры, вы делаете $self->query()->param('bar')

Вам не нужно делать ничего волшебного, чтобы это сработало, это сработает само по себе. Вы просто получаете их по-другому. Если это происходит из строки запроса CGI, вы получите

$self->query('param_name')

Если это исходит от PATH_INFO (часть, которая CGI::Application::Dispatch ручками) то получишь

$self->param('param_name')

Другие вопросы по тегам