Salve Jedis do GUJ,
Tenho uma dúvida besta com VRaptor3. Acho que vcs vão matar em 0.23s rs… Lá vai…
Gostaria de fazer esse fluxo:
- na página o usuário clica no link q aciona um js.
- js faz post via ajax
- caso não de erro, faz subit de um form pra inicia o download
- atualiza a pagina q estou *<-- é isso que não estou conseguindo fazer…
Ok, explicando resumidamente em pseudo-código:
1 - na controler eu tenho 2 métodos
[code]public class Controller {
public void buy() {
try {
this.service.buy();
result.nothing();
} catch (Exception e) {
this.errorsToJson(e);
}
}
public Download download() {
return new Download();
}
}[/code] 2 - agora, ao click de um botão, eu quero enviar pro buy via ajax. Caso não de erros, dou um submit no form q tem a action pra ‘/controller/download’. Ao mesmo tempo, quero atualizar a página atual (para atualizar as informações que estão nela).
[code]function buy() {
$.post($(buyForm)), function(data) {
if(data.errors) {
alert(data.errros);
} else
if(paymentType == 'BANK_BILL') {
$(downloadForm).submit();
}
location.reload(true);
}
}), ‘json’);
}[/code] O problema é que location.reload(true) acontece muito rápido e não deixar o download ser feito.
Alguém tem alguma sugestão de como posso contornar essa situação? Achei que colocar um timer pra retardar o disparo do location.reload() fica meio feio. O q vcs acham?
Valeu pessoal