Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dipirado

[Resolvido] funcao retornando vazia depois de requisicao com ajax

Recommended Posts

Bom dia

 

Estou com o seguinte problema, tenho uma função que faz uma requisição via ajax e me retorna uma valor, só que, a função nao retorna nada mais pelo debugger vi que a requisição ajax está retornando certo,

vou postar as funções aqui para vocês entenderem melhor.

 

essa é a função principal

 

 function min2horas(min){

       $.ajax({
           url :"ajax.php",
           type: "post",
           data:{
               acao    : "agenda:min2hora",
               min     : min
           },
           success: function(resposta){
               return   resposta;
           }
       });             
   }

funcao para o exemplo

 function preencherForms(){
    min2horas(120);
 }

 

quando chamo a função preencherForms() ele me retorna undefined só que pelo debugger retornou 02:00:00 que está certo

 

tipo a funcao min2horas é executada antes de dar o retorno.

 

vocês sabem como resolver isso

 

obrigado

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

o jQuery 1.5 lançou o Deferred vale a pena você dar uma olhada.

http://www.maujor.com/blog/2011/02/01/o-objeto-deferred-da-jquery-1-5/

 

ainda assim, não dá pra você fazer a requisição ajax dessa forma.. ele não vai retornar no instante que você espera que aconteça, pois a requisição independe do restante do fluxo.. logo, você teria que fazer, oque for precisar do retorno ajax, dentro da função de success

 

(leia o artigo no Maujor, ficará claro a tua situação)

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu ai William

 

estou lendo la e assim que acabar e testar post aqui como ficou

 

vlwss

[]s

 

a versao 1.5 do jquery está dando conflito com uma sintaxe que uso

 

mensagem de erro ( uncaught exception: Syntax error, unrecognized expression: [e_hora=08:00] )

 

div_ = $("div[e_hora="+hora[0]+":"+hora[1]+"]").find("div.box-evento");

 

sabe algo sobre esse conflito na versao 1.2.6 funciona normal essa sintaxe

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o seguinte, faltou as aspas:

div_ = $("div[e_hora='"+hora[0]+":"+hora[1]+"']").find("div.box-evento");

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema do erro

 

mensagem de erro ( uncaught exception: Syntax error, unrecognized expression: [e_hora=08:00] )

 

div_ = $("div[e_hora="+hora[0]+":"+hora[1]+"]").find("div.box-evento");

foi resolvido na versao 1.5 nao se pode mais usar sem aspas na codicao

 

ficaria assim ' $("div[e_hora='"+hora[0]+":"+hora[1]+"']") ' = [e_hora=08:00]

 

faça o seguinte, faltou as aspas:

div_ = $("div[e_hora='"+hora[0]+":"+hora[1]+"']").find("div.box-evento");

 

beleza vlwss

 

postei abaixo tbm

esqueci de recarregar a pag num vi seu post

se puder deletar o meu post baixo

obrigado

vlwss ai denovo

 

ae funcionou

 

exemplo funcionando

 

function min2horas(min){

return  $.ajax({
           url :"ajax.php",
           type: "post",
           data:{
               acao    : "agenda:min2hora",
               min     : min
           }
       });             
   }

 

 

 

 function preencherForms(){
    var dft = min2horas(120);
    dft.success(function (resposta){
alert(resposta); // igual 02:00:00
});
 }

 

vlwss ai cara obrigado

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.