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.
Page 1 of 1
Redirect via post
#2
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
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
#3
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.
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
twitter.com/nenhumnick
#4
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;
Yii::app()->session['master_id'] = $master->id;
Yes, It Is!
Share this topic:
Page 1 of 1

Help














