MVC y procesamiento de peticiones · Pregunta 8 de 12
¿Por qué una createAction() de Extbase suele redirigir a otra acción con $this->redirect()?
1 respuesta es correcta. Fácil
Mostrar solución
Solución
- C Para que al recargar la página no se reenvíe el formulario ni se cree un registro duplicado
Explicación
El patrón se llama Post/Redirect/Get: redirect() envía una respuesta HTTP 303 "See Other", el navegador descarta el cuerpo POST y solicita la página de destino mediante GET. Si el visitante pulsa entonces F5 o el botón de retroceso, solo se repite la petición GET, no el envío del formulario. Importante: redirect() devuelve una respuesta, así que hay que escribir return $this->redirect('list');. Los mensajes flash también funcionan sin redirección, pero por defecto se guardan en la sesión para que sobrevivan a una redirección.