Yii Framework Forum: Redirect via post - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Redirect via post Rate Topic: -----

#1 User is offline   Daniel Augusto Bastos 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 347
  • Joined: 25-May 09
  • Location:Rio de Janeiro - Brasil

Posted 11 August 2009 - 02:18 PM

Galera, existe alguma coisa no yii para a mesma função do CController->redirect, só que, enviando a requisição via POST no yii?

Não achei nada no framework neste sentido, tava pensando em desenvolver, mas, queria saber se existe já pronto.


Every solution creates a problem.
twitter.com/nenhumnick
0

#2 User is offline   davi_alexandre 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 113
  • Joined: 08-July 09
  • Location:Guarulhos - São Paulo

Posted 11 August 2009 - 03:55 PM

Eu não conheço, no Yii, nenhuma maneira de fazer isso.

Mas explicar melhor porque quer passar o POST de um controller para outro. Para mim, isso não faz muito sentido. De repente da pra pensar numa solução melhor =D
0

#3 User is offline   Daniel Augusto Bastos 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 347
  • Joined: 25-May 09
  • Location:Rio de Janeiro - Brasil

Posted 13 August 2009 - 11:10 AM

Foi mal a demora em responder, ando meio sem tempo aqui. 

A grosso modo, to fazendo um cadastro master-detail, onde uma requisição em GET qualquer, faz ele perder a referência do objeto pai.


Pq isso acontece?
Pq eu to usando statefulForms e states, mantendo os dados que necessito entre requisições do tipo POST, evitando que algum dado ou informação fique anexado na URL.


Pois, quando vc dá ao final de uma action o redirect, para redirecionar a página para uma outra ação, ele irá fazer uma nova requisição, só que esta requisição é do tipo GET, fazendo com que imediatamente eu perca os dados carregados no state.


Se eu chamar a action diretamente via código funcionaria, pois ai ele renderizaria a action que eu gostaria, mas, a url ficaria diferente. 
Imagina por exemplo, eu acabo de excluir, mas achamo uma action interna para renderizar a pesquisa, mas a minha url continuaria http://meusite.com/i...trollerX/Delete, mas o que o usuário vê na verdade é a pesquisa.

Não caberia colocar estes dados na sessão, pois são específicos do registro editado(E um usuário pode estar editando 2 registros ao mesmo tempo em janelas diferentes, o que vai gerar um grâaaaaaaaande problema. 

Não gostaria de deixar muita coisa anexada na URL (Preferencialmente só o parâmetro "r" do próprio YII).

Pra solucionar este problema, tem um esquema bem conhecido (Leia-se P.O.G. hehe) na web. Renderizando uma página vazia, apenas com o form e os dados que vc precisa em campos ocultos, e, automaticamente reenviar para o servidor. No meu caso, seria apenas o campo do oculto gerado pelo statefulForm. 

Até agora, tinha sido a única solução que eu tinha pensado. Mas tava pensando agora pouco. Será que é possível criar um CHtml::linkButton (Ou outro tipo de link qualquer do YII) com um JS personalizado? Pq ai eu poderia fazer via JS o envio de informações para a action, verificar o retorno e reenviar para a ação correta, evitando até mesmo o carregamento de uma página(A página que apenas iria me redirecionar) desnecessáriamente, e, consequentemente, não perderia as informações do state.



Every solution creates a problem.
twitter.com/nenhumnick
0

#4 User is offline   ricardograna 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 376
  • Joined: 31-March 09
  • Location:Manaus/AM - Brazil

Posted 13 August 2009 - 09:49 PM

Minha idéia seria utilizar sessão, para evitar passar parametros GET.


Yii::app()->session['master_id'] = $master->id;
Yes, It Is!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users