Ir para conteúdo

POWERED BY:

Arquivado

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

visitante_php

php em ajax

Recommended Posts

Fala Igor, cara, tem um artigo do Márcio Muzzi aqui no Imasters onde ele desenvolve um exemplo utilizando

a prototype.js. Eu achei muito interessante. Talvez ajude! ;)

 

t+.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor, o AJAX funciona assim: você faz uma requisição, por exemplo clicando em um link, num botão etc. Um arquivo PHP processa a requisição e devolve o resultado (texto, xml) pra página, que tem uma função pra ser disparada no momento que receber a resposta.

Existem milhares de tutoriais de AJAX na internet.

http://tableless.com.br/artigos/ajaxdemo/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente não http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Isso que você mostrou é um prototipo de pseudo-janelas né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explico: este exemplo que você citou (http://prototype-window.xilinus.com/samples.html) é um protótipo para criar aquelas janelas com div´s, pelo que entendi.

Você disse que queria colocar consultas ajax usando este protótipo ai. É isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então basta você manipular o responsexml para que os dados apareçam dentro da janela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ex.:

 

function criaXMLHttp() {
	if (typeof XMLHttpRequest != "undefined")
	return new XMLHttpRequest();
	else if (window.ActiveXObject){
	var versoes = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0",	"MSXML2.XMLHttp", "Microsoft.XMLHttp"];
	}
	for (var i = 0; i < versoes.length; i++){
	try{
	return new ActiveXObject(versoes[i]);
	}catch (e) {}
	}
	throw new Error("Seu browser nao suporta AJAX");
}

function consulta(campo) {
	var x = document.getElementsByName(campo)[0].value;
	var divInfo = document.getElementById("resultado");
	var XMLHttp = criaXMLHttp();
	XMLHttp.open("get", "ler.php?nome=" + x, true);
	XMLHttp.onreadystatechange = function () {
	if (XMLHttp.readyState == 4)
	if (XMLHttp.status == 200){	
	var result = XMLHttp.responseText;
		divInfo.innerHTML = result;
	} 
	else {	divInfo.innerHTML = "Um erro ocorreu" + XMLHttp.statusText;	}	
	};
	XMLHttp.send(null);
}

arquivo de consulta

ler.php

header("Content-Type: text/plain");
// recebe o id que veio pelo parametro usando o método GET
$nome = $_GET["nome"];
require("bd.php");
$sql = mysql_query("SELECT * FROM tabela WHERE nome='$nome' LIMIT 1");
$resultado = mysql_fetch_array($sql);
echo $resultado["nome"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor, no exemplo acima, o arquivo ler.php serve apenas pra responder a uma requisição AJAX. Ele serve apenas pra dar uma resposta a uma pergunta.

Na função javascript chamada consulta que o NKNK criou, tem uma linha assim:

XMLHttp.open("get", "ler.php?nome=" + x, true);
Aqui ele faz uma chamada por get ao arquivo ler.php, como se estivesse chamando pelo browser. Imagine que tinha um botão ou link na página com o onclick="consulta('nome')".

Ao invés do navegador ir pra página ler.php, ele faz uma requisição assíncrona a ela, e quando a página ler.php terminar de processar e der o 'echo' (na última linha do ler.php) ocorrerá o onreadystatechange:

XMLHttp.onreadystatechange = function ()
que diz pra escrever o que o arquivo ler.php devolveu dentro da div divInfo:

var divInfo = document.getElementById("resultado");
Entendeu?

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.