Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Ajax

$
0
0
Pessoal,

Tenho no meu site um JCarrousel que passa uma imagens carregadas do banco por um while php: tudo funciona.

Agora, quero colocar uma caixa de texto (ou coisa parecida) com a finalidade de, à medida que a pessoa vai digitando o nome da imagem (portal) na caixa, o ajax vai pesquisando no banco se existe aquela combinação. Caso exista, o javascript marcará e exibirá (caso esteja escondido) a imagem do JCarroussel.

Estou tentando com ajax assim:
Código (Javascript):
function selecionaPortal(campo)
{
try { ajax = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e)
{
  try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch(ex)
  {
        try { ajax = new XMLHttpRequest(); }
        catch(exc)
        {
                 alert("Esse browser não tem recursos para uso do ajax");
                 ajax = null;
         }
        }
   }
  if(ajax)
  {
         ajax.open("POST", "global/funcoes_php/selecionaPortal.php", true);    
         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         processXMLPortais(ajax.responseXML,campo);

         var params = "nome="+campo;
         ajax.send("nome="+params);
   }
}
function processXMLPortais(obj,campo)
{
  alert(obj);
  var dataArray   = obj.getElementsByTagName("portal");

   if(dataArray.length > 0)
   {
      var codigo        =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
      var nome =  item.getElementsByTagName("nome")[0].firstChild.nodeValue;

       alert(nome);
     }
  }
</script>
Ao executar o ajax.open, ele não consegue conectar com o arquivo php.
Eu fiz um include(''); do php com o endereço de ajax.open para ter certeza que o endereço estava certo e estava. Mas o ajax.open não consegue abrir.
E o alert(obj); esta dando null;
Poque será?
Eis o código do php também:
Código (PHP):
<?php
  require_once("../config/conexao.inc");

  $selecionaPortalString = "SELECT id, nome FROM portais WHERE nome='".$_POST["nome"]."''";
  $selecionaPortalQuery = $conexao->Query($selecionaPortalString);

  if($selecionaPortalQuery->num_rows>0)
  {                            
     list($codigo, $nome)=$selecionaPortalQuery->fetch_row();
     //XML
     $xml  = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
     $xml .= "<portais>\n";                      
     $xml .= "<portal>\n";     
     $xml .= "<codigo>".$codigo."</codigo>\n";                           
     $xml .= "<nome>".$nome."</nome>\n";               
     $xml .= "</portal>\n";    
     $xml.= "</portais>\n";
  }

  header("Content-type: application/xml; charset=utf-8");
  echo $xml;
?>
Se eu rodar esse php substituindo o parâmetro por um valor que sei que exista, ele gera certinho o xml.
Será que existe alguma coisa errada? Ou alguém tem uma ideia melhor?

Viewing all articles
Browse latest Browse all 14700

Trending Articles