Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Ajax xmlhttpresquest

$
0
0

olá boa, boa noite, estou com um problema ja faz uns 3 dias que não estou conseguindo resolver, pois não tenho um raciocinio muito bom com javascript; bem o problema é o seguinte, o codigo que estou utilizando funciona, ou seja busca as informações no bando de dados e retorna em uma lista todos os valores que são aproximadamente os mesmos acima de 3 caracteres digitados no campo input no html; o que está acontecendo é o seguinte, o Microsoft.XMLhttp funciona normalmente no internet explorer 8.0 atualmente instalado no meu computador(irei fazer update da versão), o problema é quando testo o mesmo codigo no Mozilla Firefox, Google Chrome, que sempre retorna a mensagem de erro:(está no codigo), acredito que o problema esteja onde está em negrito, pois ja apaguei, rescrevi o codigo varias vezes mas não consegui obter sucesso :( ;

segue codigo abaixo:

 

// Função para iniciarmos o Ajax no browser do cliente.
function openAjax() {

var ajax;

try{
ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
}catch(ee){
try{
ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
}catch(e){
try{
ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
}catch(E){
ajax = false;
}
}
}
return ajax;
}
//instancia dinamicamente o objeto xmlhttp


// Função que realiza a busca instantânea
function busca() {
if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
var termo = document.getElementById('q').value; // Pega o termo digitado no campo de texto.
var exibeResultado = document.getElementById('exibe'); // div que exibirá o resultado da busca.
if(termo !== "" && termo !== null && termo.length >= 3) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
var ajax = openAjax(); // Inicia o Ajax.
ajax.open("GET", "buscar.php?q="+termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
ajax.onreadystatechange = function() {
if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
exibeResultado.innerHTML = "<h2>carregando...</h2>";
}
if(ajax.readyState == 4) { // Quando estiver tudo pronto.
if(ajax.status == 200) {
var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
resultado = unescape(resultado); // Resolve o problema dos acentos
exibeResultado.innerHTML = resultado;
} else {
exibeResultado.innerHTML = "Erro: ";
}
}
}
ajax.send(null); // submete
}
}
}


Viewing all articles
Browse latest Browse all 14190