Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

nmoa

[Resolvido] Passar var por AJAX e retornar ao URL

Mensagens Recomendadas

nmoa

boas

estou aqui com uma questão que me está a dar volta à cabeça

necessito de pasar um var por ajax para um ficheiro php e depois nesse ficheiro php fazer com que volte com respostas para o ficheiro inicial

objectivo: validar uma palavra na base de dados e lançar uma resposta consoante o resultado

tenho assim o ficheiro inserir.php

   <label class="field select">
    <input  type="text" name="clientes" size="30" class="clientes gui-input" placeholder="Escreva o nome do cliente">
    </label>
  <div id="cliente"></div>
  <script>
  $(document).ready(function (){
	 $('input.clientes').typeahead({
		    name: 'clientes',
		    remote: 'cnt/clientes.php?query=%QUERY'
	    });

	    $(".clientes").focusout(function (){

		    var palavra = $(".clientes").val();
		    $.ajax({
			    url:"entrada.php?page=36&palavra="+palavra,
			    method:"POST"


		    });
		    return false;


	    })

  })
  </script>

e o ficheiro que ira receber a var assim

<div class="panel-body pn">
<?php
require_once ("../connect.php");connect();
$word = $_GET["palavra"];
$clientes = mysql_query("SELECT * FROM clientes where nome LIKE '%" . $word . "%'");
$conta = mysql_num_rows($clientes);
echo $word;
?>
<script>
   $(document).ready(function (){
   var conta = "<?php echo $conta ?>";
   console.log(conta);
	    if (conta == 0){
   $("#cliente").load("entrada.php?page=37");
	    };
	    })
</script>
</div>

ele esta a passar para esta página mas depois não retorna nada

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

vamos com calma ...

sem qualqwuer tipo de referência a código (especialmente o teu, porque está conceptualmente errado) explica claramente o que pretendes fazer


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

vamos com calma ...

sem qualqwuer tipo de referência a código (especialmente o teu, porque está conceptualmente errado) explica claramente o que pretendes fazer

o que pretendo fazer é escrever uma palavra num input e ele fazer o autocomplete com dados que vai buscar à bd ( isso está a funcionar)

o 2º ponto é verficar se essa palavra não existe, se não existe iria aparecer uma informação a informar o utilizador que o nome que escreveu não existe e se pretende criar o registo

e é isto ...parece simples assim escrito

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Ignorando os erros do código, uma falta óbvia é o método de tratamento de resposta ao pedido AJAX. Parece que estás a usar jQuery, e se assim for tens de implementar o tratamento da resposta no método .done(), opcionalmente tens também o .fail() para tratar respostas.

Pessoalmente, acho que devolver JSON é mais prático, em vez de devolver apenas uma string livre.

Pegando no teu código:

$(".clientes").focusout(function (){
   var palavra = $(".clientes").val();
   $.ajax({
    url: "entrada.php?page=36&palavra="+palavra,
    method: "POST"
   }).done(function(resultado) {
    //resultado contém o que é devolvido pelo PHP,
    //pode ser JSON
   };
   return false;
})

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

Ignorando os erros do código, uma falta óbvia é o método de tratamento de resposta ao pedido AJAX. Parece que estás a usar jQuery, e se assim for tens de implementar o tratamento da resposta no método .done(), opcionalmente tens também o .fail() para tratar respostas.

Pessoalmente, acho que devolver JSON é mais prático, em vez de devolver apenas uma string livre.

Pegando no teu código:

$(".clientes").focusout(function (){
var palavra = $(".clientes").val();
$.ajax({
 url: "entrada.php?page=36&palavra="+palavra,
 method: "POST"
}).done(function(resultado) {
 //resultado contém o que é devolvido pelo PHP,
 //pode ser JSON
};
return false;
})

não esta a retornar nada ...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Tens a certeza que não está a devolver nada? Confirmaste com ferramentas de debug, vendo o conteúdo do pedido e da resposta e os códigos de erro/sucesso?

"não está a retornar nada ..." não me diz muito :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

Tens a certeza que não está a devolver nada? Confirmaste com ferramentas de debug, vendo o conteúdo do pedido e da resposta e os códigos de erro/sucesso?

"não está a retornar nada ..." não me diz muito :)

pois nao diz mto :/

no php que lança a resposta esta assim

<?php
require_once ("../connect.php");connect();
$word = $_GET["palavra"];
$clientes = mysql_query("SELECT * FROM clientes where nome LIKE '%" . $word . "%'");
$conta = mysql_num_rows($clientes);
echo $conta;
?>

deveria aparecer o valor conta ...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

deveria aparecer o valor conta ...

deveria ?

como ?

porquê ?

qual a instrução de código que indica essa o valor deveria aparecer ?

e onde ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nmoa

deveria ?

como ?

porquê ?

qual a instrução de código que indica essa o valor deveria aparecer ?

e onde ?

o valor que me deveria passar era a quantidade existente da procura

ou seja se escrever joao deveria retornar 0 , pois não existe na base de dados nenhum joão

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o valor que me deveria passar era a quantidade existente da procura

ou seja se escrever joao deveria retornar 0 , pois não existe na base de dados nenhum joão

fiz 6 perguntas e não respondeste a nenhuma ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.