Diego.G.A Postado Outubro 13, 2008 Denunciar Share Postado Outubro 13, 2008 Ai galera é o seguinte eu tenho uma função em ajax, que o objetivo dela é retornar true ou false, mas ela não retorna nada.segue o código abaixo que chama a função ajax:fornecedores.cadastra = function() { if(!JValid.cnpj(cnpj)) { alert('Informe um CNPJ válido.'); return false; } else { if(fornecedores.validaCnpj(cnpj)) { alert("Este CNPJ já encontra-se cadastrado."); return false; } } } função ajax: fornecedores.validaCnpj = function(cnpj) { $.ajax({ type: "POST", url: "validaCnpj.php", data: "cnpj="+ cnpj, success: function(msg) { var obj = eval("("+ msg +")"); if(obj.status) return true; else return false; } }); } página php que valida o cnpj: <?php require("intranet/autoload.php"); $fornecedores = new Fornecedores(); if($fornecedores->write("WHERE CNPJ='".Util::formataNumeroEntrada($_POST['cnpj'])."'")) exit("{status: true}"); else exit("{status: false}"); ?>o retorno do php funciona, a conversão em javascript para objetos JSON funciona a verificação se é verdadeiro ou falso funciona, mas na hora de retornar ele não retorna nada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Outubro 14, 2008 Denunciar Share Postado Outubro 14, 2008 Esse é um problema recorrente quando se usa closures, deve tomar cuidado com o escopo da função que está usando.O jQuery.ajax é uma função, o sucess é uma função que é executada de dentro da função ajax. Portanto, se você retornar true ou false no sucess, você estará retornando para a função jQuery.ajax e não para a função que chamou a jQuery.ajax.jQuery é um objeto fechado, foi por agua abaixo esse seu esquema aí de retorno, rsrs.Também não adianta usar o jQuery.ajax() como retorno, porque ele retorna o próprio jQuery.Vai ter que usar outro esquema pro seu sistema. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Apolinário Moreira Postado Janeiro 28, 2010 Denunciar Share Postado Janeiro 28, 2010 (editado) // Está função é uma mistura Ajax e jQuery para retornar true ou false requisição assíncrona// Metodo para manipular regitros forma assincroma.function loadPage(params, response) { // Mostra uma mensagem para aguardar a resposta. response.removeClass(); response.addClass("load"); response.text("Carregando.."); // Cria um objeto do ajax jQuery var xmlHttp = $.ajax(); // Abre uma conexao a um arquivo especifico no servidor. xmlHttp.open('GET', params, false); // Solicitacao foi enviada de forma assincroma. xmlHttp.send(null); // Verifica se o retorn é verdadeiro. if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ // Recebe a resposta do servidor return xmlHttp.responseText == '1'; }}// end function// Se você já resolvel o problema fica pro próximo q tiver o mesmo...// Abraço Editado Janeiro 28, 2010 por Apolinário Moreira Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Diego.G.A
Ai galera é o seguinte eu tenho uma função em ajax, que o objetivo dela é retornar true ou false, mas ela não retorna nada.
segue o código abaixo que chama a função ajax:
função ajax: página php que valida o cnpj:o retorno do php funciona, a conversão em javascript para objetos JSON funciona a verificação se é verdadeiro ou falso funciona, mas na hora de retornar ele não retorna nada.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.