Zend x JQuery
Nem sei sei aqui seria o local correto de postar essa dúvida, mas....
Seguinte, eu tenho uma aplicação em Zend e nessa aplicação tenho uma opção de upload de arquivos com jquery. Esse upload funciona mais ou menos bem. Ao inciar o upload ele dá problemas pois o caminho passado para o jquery, de alguma forma, fica "errado" embora ele esteja corretamente setado.
Esse é o código da aplicação (JQuery)
/para upload de imagens/
var btnUpload=$('#upload');
var status=$('#status');
var retorno=$('#retorno');
new AjaxUpload(btnUpload, {
//Arquivo que fará o upload
action: 'admin/upload/do',
//Nome da caixa de entrada do arquivo
name: 'fileupload',
onSubmit: function(file, ext){
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// verificar a extensão de arquivo válido
status.text('Somente JPG, PNG ou GIF são permitidas');
return false;
}
status.text('Enviando...');
},
onComplete: function(file, response){
//Limpamos o status
status.text('');
retorno.empty();
/*mostra a imagem carregada*/
$(retorno).append(response);
}
});
Teoricamente esse código deveria funcionaria corretamente, mas....
Por algum motivo desconhecido a action duplica o módulo o código fica assim:
/para upload de imagens/
var btnUpload=$('#upload');
var status=$('#status');
var retorno=$('#retorno');
new AjaxUpload(btnUpload, {
//o módulo admin fica duplicado assim que a aplicação é carregada
action: 'admin/admin/upload/do',
//Nome da caixa de entrada do arquivo
name: 'fileupload',
onSubmit: function(file, ext){
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// verificar a extensão de arquivo válido
status.text('Somente JPG, PNG ou GIF são permitidas');
return false;
}
status.text('Enviando...');
},
onComplete: function(file, response){
//Limpamos o status
status.text('');
retorno.empty();
/*mostra a imagem carregada*/
$(retorno).append(response);
}
});
Como a action está errada isso, logicamente, gera erro. Porém, quando eu clico em uma opção no sistema onde há mudança de módulo, ou seja, novo-modulo/menu-controller/minha-action e volto para a página inicial, o problema na action simplesmente desaparece e o upload funciona normal.
Para se entender melhor. Imagine que eu esteja no módulo admin e que, ao clicar no botão de upload, a action informada no jquery está assim: admin/upload/do. Mas, eu não sei o porquê que a action se transforma e fica assim: admin/admin/upload/do, ou seja, errado.
Porém, se na minha área de administrador (módulo admin) eu clicar num ícone para ver o perfil de um usuário, ou seja, perfil/user/find/pedro (vou no módulo perfil, controller user, action find e parâmetro pedro), navegar nesse perfil e depois voltar para o módulo admin, a action do upload que estava com problemas, como um passe de mágica, volta a funcionar normalmente, ou seja, a action fica admin/upload/do.
Alguém tem ideia por que que isso acontece? O mais interessante é que isso acontece tanto quando eu passo a action normalmente para o jquery quanto eu pego o caminho do próprio form.
Att,
Alexandre
Discussão (1)
Carregando comentários...