Jump to content


Photo

Ajax - Biblioteca Xajax


  • Faça o login para participar
87 replies to this topic

#1 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/06/2006, 15:01

AJAX com xajax

Introdução
Antes de mais nada, a biblioteca xjax não foi escrita por mim. Toda documentação, direitos, exemplos, wiki, fóruns referentes à ela, podem ser encontradas no endereço abaixo:

http://www.xajaxproject.org

Essa classe foi apresentada à mim pelo nosso querido Paulo Freitas (thx man!), e desde sua primeira utilização, passou a ser meu braço direito ao AJAX. O que tentarei expor nesse tutorial, serão exemplos de sua utilização e do que ela é capaz e o quanto ela lhe auxília.

Essa biblioteca é, de uma maneira grossa, toda a parte JavaScript do AJAX, o que pode ser chamado agora de APAX (Asyncronous PHP And XML). Com ela, você fica somente com o PHP para realizar todas as alterações nas páginas (podendo ainda executar funções javascript).

Vou tentar explicar todos os passos, da maneira mais simples e descomplicada possível. Portanto, pode parecer cheio de enrolações para quem possui um conhecimento maior, mas ajudará quem está pegando os primeiros passos (y)

Sem mais enrolações (todos temos prazos à cumprir, hehehe), que comecem os jogos!


--------------------
INSTALAÇÃO
Talvez a parte mais complicada de todo o processo de utilização de AJAX com o xajax.

(Esses passos podem variar, dependendo da versão utilizada.)
(Em anexo à esse post, está a versão utilizada no tutorial.)

Baixe a última versão, de preferência estável.

Mirror Brasileiro para versão 0.24: http://ufpr.dl.sourc...xajax_0.2.4.zip

Com o arquivo em mãos, descompactando-o, você terá algo semelhante à:

+ xajax_0.2.4
  + examples
  + tests
  + xajax_js
	- xajax.js
	- xajax_uncompressed.js
  - xajax.inc.php
  - xajaxCompress.php
  - xajaxResponse.inc.php
  - LICENSE.txt
  - README.txt

PS: Os diretórios examples e tests contém mais arquivos, mas, não serão necessários, portanto, não os inseri na estrutura.

O que fazer com esses arquivos?
Copie os seguintes arquivos para o diretório de seu site (/http_docs/, /www/, /home/web/, ...):

+ xajax_js
  - xajax.js
  - xajax_uncompressed.js
- xajax.inc.php
- xajaxCompress.php
- xajaxResponse.inc.php

Mantendo a pasta xajax_js. Simplesmente isso. Somente publique esses arquivos no servidor web e estará tudo configurado para a execução do AJAX.


--------------------
INICIO DO PROCESSO
Temos todos os arquivos necessários, agora, vamos programar ;)

Neste exemplo, teremos apenas 1 botão, e este, ao clicar, irá capturar a hora do servidor (date("H:i:s")) e trazer novamente à página, logicamente, sem refresh.

relogio.php
<html>
<head>
</head>
<body>

<div id="botao">Ver Hora</div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Somente para explicar essa simples página:

. Temos um texto "Ver Hora", que futuramente será nosso "botão" para buscar a hora no servidor
. Temos também uma div com 100 pixels de largura e uma borda tracejada, onde futuramente, será apresentado o horário

Sem segredos.

Criando uma nova instância da Classe
Com esse nosso exemplo, devemos agora, criar uma nova instância da Classe xajax (quem já utilizou de OOP entenderá de forma muito mais rápida esse processo).

relogio.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();
?>
<html>
<head>
</head>
<body>

<div id="botao">Ver Hora</div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Explicando o bloco PHP

require_once("xajax.inc.php"); > incluimos o arquivo necessário para instanciar a nova classe. ATENÇÃO, caso você não esteja na mesma pasta que esse arquivo, você deverá indicar o caminho correto para ele. Exemplo:

require_once("../../xajax.inc.php");
require_once("pasta/xajax.inc.php");


$xajax = new xajax(); > aqui, instanciamos a nova classe à variável $xajax. Daqui pra frente, todo nosso processo será em cima dessa variável.

Encerramos por aqui a instanciação da classe.

--------------------
CRIANDO A FUNÇÃO PARA BUSCAR A HORA
O que irá acontecer ao pressionar o botão para buscar a hora no servidor é basicamente a chamada para uma função PHP, então, devemos construir essa função.

relogio.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora()
{
  $hora = date("H:i:s");
}
?>
<html>
<head>
</head>
<body>

<div id="botao">Ver Hora</div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Inserimos agora nossa função, vejamos o que ela faz:

$hora = date("H:i:s"); > A variável $hora recebe o horário do servidor pela função date().

Temos o resultado que queremos em uma variável, mas ele ainda não vai ser apresentado na página como mágica ou por meiose. Nessa parte, entra a mágica do xajax.

relogio.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora()
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  $resposta -> addAssign("hora", "innerHTML", $hora);
  return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao">Ver Hora</div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Temos muito código a ser analisado agora.

Iniciaremos pela nossa função previamente criada que agora foi modificada.

$resposta = new xajaxResponse(); > Instanciamos a Classe de resposta à página. Esse carinha que fará o retorno do que desejar à página. Não há o que ser diferente
$hora = date("H:i:s"); > Capturamos a hora (como estava anteriormente)
$resposta -> addAssign("hora", "innerHTML", $hora); > Nessa parte é onde realmente alteramos o que desejar. Os parâmetros para essa função são: ID, PROPRIEDADE, VALOR. Ou seja:

No objeto com o id hora, alteramos a propriedade innerHTML e atribuimos o seu valor para o nosso horário ($hora). Em JavaScript, seria algo semelhante à isso:

document.getElementById("hora").innerHTML = hora

É... Um noção, mesmo que mínima de JavaScript será necessária. Ninguém faz caipirinha sem limão. :blink:

return $resposta -> getXML(); > Retornamos as alterações realizadas para a página. Não há o que ser diferente

Acabamos com a função, vamos ao restante:

$xajax -> registerFunction("pegarHora"); > Registramos a função para ser utilizada pelo xajax, caso contrário, será apenas, mais uma função no PHP. Essa parte, fará ser possível executar essa função pelo HTML.

$xajax -> processRequests(); > Processo interno da classe. Tudo que é realizado, funções adicionadas, é posto em prática. Não há o que alterar.

UM DETALHE IMPORTANTE ESTÁ ENTRE AS TAGS <head></head>
<?php $xajax -> printJavascript(); ?> > Essa parte irá criar os arquivos e funções JavaScripts para ser adicionadas ao código. Aqui, você deve passar o caminho para o arquivo também. Se não estiver na mesma pasta que a página, você terá algo semelhante à isso:

<?php $xajax -> printJavascript("../../"); ?>
<?php $xajax -> printJavascript("pasta/"); ?>

Ou seja, indique o caminho para o arquivo da biblioteca xajax. Caso esteje na mesma pasta, não é necessário passar esse parâmetro.


--------------------
EXECUTANDO A FUNÇÃO
Vamos agora ver como é feita a chamada da função PHP dentro do HTML.

relogio.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora()
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  $resposta -> addAssign("hora", "innerHTML", $hora);
  return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_pegarHora();">Ver Hora</a></div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Viu?

A função é chamada com o prefixo xajax_ ao nome da sua função declarada no PHP. Se no PHP você criou a função ver_hora_do_meu_servidor(), a chamada seria xajax_ver_hora_do_meu_servidor(). Se precisasse de parâmetros, seria tratado normalmente também, mas isso, veremos mais adiante.


--------------------
COMO ALTERAR OUTRAS PROPRIEDADES?
Basta saber como seria alterado por JavaScript. Vejamos alguns exemplos:

relogio2.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora()
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  $resposta -> addAssign("hora", "value", $hora);
  return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_pegarHora();">Ver Hora</a></div>

<input type="text" id="hora" />

</body>
</html>

Simples? Dessa vez, ao invéz de alterar a propriedade innerHTML, que é aplicado à tags, digamos, normais, aplicamos desta vez, em um campo de texto (input), alterando a propriedade value.


--------------------
TRABALHANDO COM PARÂMETROS
Vejamos agora, como realizar a passagem de parâmetros para o objeto de AJAX. Neste exemplo, teremos dois botões, uma para exibir e outro para ocultar nosso relógio.

relogio3.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora($display)
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  if($display == 1)
  {
	$resposta -> addAssign("hora", "style.display", "inline");
	$resposta -> addAssign("hora", "innerHTML", $hora);
  } else
  {
	$resposta -> addAssign("hora", "style.display", "none");
  }
  return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_pegarHora(1);">Ver Hora</a> - <a href="#" onclick="xajax_pegarHora(0);">Ocultar Hora</a></div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Alteramos um pouco a função desta vez, vejamos:

function pegarHora($display) > Agora ela está recebendo um parâmetro.
if($display == 1) > Aqui, trabalhamos com o parâmetro passado. Caso ele seja 1, atualizamos a hora, e ao mesmo tempo, apresentamos o conteúdo. Caso ele não seja 1, ocultamos o conteúdo.
onclick="xajax_pegarHora(1);" e [/b]onclick="xajax_pegarHora(0);"[/b] > Chamamos a função passando os parâmetros (1 ou 0).

E a propriedade alterada para apresentar/ocultar o campo é:

style.display

Em JavaScript seria:

document.getElementById("hora").style.display = "inline";

Ou seja, a propriedade a ser modificada, não é, necessariamente uma única expressão, mas sim, todo o objeto que deseja alterar. De forma simples, é o que vem depois do id do campo até a adição do valor "=".


--------------------
CRIATIVIDADE
Pensou em todas as possibilidades que você pode estar trabalhando com AJAX sem muito esforço?

. Alterando Imagens
. Exibindo dados do Bando de Dados
. Gravando Dados de Formulário
. Navegação sem Refresh
. Entre muitas outras

Tudo que você precisa fazer a partir de agora, é mesclar o xajax com sua criatividade e conhecimentos básicos em JavaScript.


--------------------
LISTAGEM
Veja um exemplo de apresentação de uma lista. Esse exemplo poderia ser utilizado inclusive com uma consulta ao banco de dados.

clintes.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function exibir()
{
  $resposta = new xajaxResponse();
  
  $saida = "";
  $clientes = array("Cliente 01", "WMOnline", "Cliente 02", "Brasil S/A");
  foreach($clientes as $cliente)
  {
	$saida .= $cliente . "<br />";
  }
  
  $resposta -> addAssign("conteudo", "innerHTML", $saida);
  
  return $resposta -> getXML();
}

$xajax -> registerFunction("exibir");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_exibir();">Exibir Clientes</a></div>

<div id="conteudo" style="width: 400px; border: 1px dashed #666666;"></div>

</body>
</html>

Temos uma matriz com a listagem de nossos clientes, essa matriz, poderia ter seus dados providos a partir de uma consulta ao banco de dados também. Dentro do PHP é você quem manda, pode realizar qualquer operação que faria normalmente.

Adicionamos todo o conteúdo à uma variável, e em seguida, passamos seu valor de volta ao id conteudo, alterando a propriedade innerHTML.

--------------------
EXECUTANDO UMA FUNÇÃO JAVASCRIPT
Certas vezes, precisamos executar também uma função JavaScript para diferentes fins. Vejamos como ficaria essa chamada:

relogio4.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora()
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  $resposta -> addAssign("hora", "innerHTML", $hora);
  $resposta -> addScriptCall("exibirAlerta");
  return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
<script language="javascript" type="text/javascript">
function exibirAlerta()
{
  alert("Hora atualizada!");
}
</script>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_pegarHora();">Ver Hora</a></div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Vejamos o que foi feito neste exemplo:

. Atualizamos a hora como fazíamos anteriormente, só que, dessa vez, há um outro código no meio de tudo isso:

$resposta -> addScriptCall("exibirAlerta"); > Aqui, executamos uma chamada à uma função JavaScript. Que deve estar declarada previamente na página.

<script language="javascript" type="text/javascript">
function exibirAlerta()
{
  alert("Hora atualizada!");
}
</script>

Podemos também passar parâmetros para essas chamadas. E, de certa forma, simplificá-las, utilizando as funções já existentes no java script:

relogio5.php
<?php
require_once("xajax.inc.php");

$xajax = new xajax();

function pegarHora()
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  $resposta -> addAssign("hora", "innerHTML", $hora);
  $resposta -> addScriptCall("alert", "Hora Atualizada!");
  return $resposta -> getXML();
}

$xajax -> registerFunction("pegarHora");

$xajax -> processRequests();
?>
<html>
<head>
<?php $xajax -> printJavascript(); ?>
</head>
<body>

<div id="botao"><a href="#" onclick="xajax_pegarHora();">Ver Hora</a></div>

<div id="hora" style="width: 100px; border: 1px dashed #666666;"></div>

</body>
</html>

Pronto! Executamos diretamente a função alert pela chamada PHP.


--------------------
LIMITES?!
Sua imaginação. Simplesmente não há limites, você pode criar quantas funções desejar, realizar quantas chamadas quiser, tudo.

Mas lembre-se, o AJAX tem como espírito a atualização rápida de conteúdo, portanto, evite grande tráfego de dados. Blocos de textos enormes, etc.

Seu site não ficará melhor ou mais bonito com isso, mas deve ficar mais prático.

Coloquem essas cabeças preguiçosas pra pensar, e tentem descobrir o que vocês podem fazer com isso. Leiam também as descrições e exemplos disponíveis no site oficial. Isso não é nem 5% do que essa ferramente é capaz de lhe proporcionar.

Attached Files


Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 15:36

Fantástico Balala! ^_^
Aproveitando que estou começando a aprender Ajax e já implementando, como você mesmo já foi testemunha de algumas dúvidas minha né, já vou utilizar essa biblioteca para dar uma inovada. :D
Sem dúvida um ótimo tutorial, dá pra pegar tranquilo...

Mas me explique uma coisa, quando você diz para evitar grande tráfego dados, quanto seria isso? Por exemplo, em um tópico desse com paginação, Ajax não seria uma boa alternativa não? :huh:

Vlw...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/06/2006, 15:53

Não é que não seria. Mas então, tem que ser algo bem planejado. Por exemplo:

(peraí, você leu tudo já?!)

Certo, voltando, o tamanho da resposta é por volta de 300kb (o AJAX é um XML que retorna tudo a ser executado), então, um usuário de net discada, esperar todo esse tempo sem um sinal de carregamento é complicado.

Ele está acostumado com a tela branca enquanto carrega.

Essas transferências grandes podem ser realizadas, mas avisando o usuário.

Essa classe já faz o cursor do mouse ficar a ampulheta (windows). Já é algum sinal, mas talvez, dificil de ser reparado pelos usuários.

Quem sabe apresentar uma div com uma "CARREGANDO".

Algo assim:

<div id="botao"><a href="#" onclick="xajax_pegarHora(); document.getElementById('carregando').style.display = 'inline';">Ver Hora</a></div>

// Apresenta a div de carregando
....

function pegarHora()
{
  $resposta = new xajaxResponse();
  $hora = date("H:i:s");
  $resposta -> addAssign("hora", "innerHTML", $hora);
  $resposta -> addAssign("carregando", "style.display", "none"); // oculta ela novamente
  $resposta -> addScriptCall("alert", "Hora Atualizada!");
  return $resposta -> getXML();
}

É simplesmente uma questão de não deixar o usuário confuso ;)
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 15:59

(peraí, você leu tudo já?!)


Por que? Em meia hora não deu tempo? Li sim, digo tudo que está escrito pra você de olhos fechados.. :P

Entendi, essa questão de colocar uma <div> eu estou fazendo, mas foi uma boa observação. Vou guardar esse emplo seu aqui pra usar mais tarde. Obrigado.

Flws...
;)Até mais

Edição feita por: Frenesi, 07/06/2006, 16:00.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/06/2006, 16:10

Algo semelhante ao Editar > Edição Rápida do Invision 2. Enquanto busca os dados, fica a progress bar girando.

E acredito que isso ali, utilizando a versão modificada, vai acabar com o seu problema em relação aos textos.
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 16:33

Certo... (y)

Já colocando em prática, tenho uma questão. :D
Fiz um teste aqui chamando uma página que tem o phpinfo(). Fiz assim a função:
<?
function pegarInfo()
{
  $resposta = new xajaxResponse();
  $res = eval(include("../index.php"));
  $resposta -> addAssign("phpinfo", "innerHTML", $res);
  return $resposta -> getXML();
}
?>
Nessa index.php que tem as informações do PHP. Só para testar. E retornou todo o código html da página, tudo bem, mas no lugar errado. Retornou em um "alert". E dizendo que a resposta do XML ao servidor é inválida (ou algo parecido.)

Ou não tem nada a ver o que eu fiz? :blink:

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/06/2006, 16:39

Hmmm, eu acho que não ficou tão certinho assim o que você fez :)

Qual o source que tem nessa index.php?

E não tem nenhum outro id com "phpinfo", certo?

Algo assim:

<?
function pegarInfo()
{
  $resposta = new xajaxResponse();

  ob_start();
	phpinfo();
	$res = ob_get_contents();
  ob_end_clean();
  
  $resposta -> addAssign("phpinfo", "innerHTML", $res);
  return $resposta -> getXML();
}
?>

Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#8 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 07/06/2006, 16:43

Maravilha heim :P

Deixa eu ver se eu entendi :P

Isso é um atalho aos quase sempre gigantescos códigos AJAX???

Té mais e parabens Balala. ;)

Walison(GENNF)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#9 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 16:43

Simplesmente:
<?
  phpinfo();
?>
Porque provavelmente eu vou querer fazer algo do tipo. Chamar outra página. :D

Não, só tem uma <div> com essa id.

Flws..
:huh:Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#10 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 07/06/2006, 16:44

Caso seja a chamada para outras páginas:

<?
function pegarInfo()
{
  $resposta = new xajaxResponse();

  $res = file_get_contents("pagina.php");
  
  $resposta -> addAssign("phpinfo", "innerHTML", $res);
  return $resposta -> getXML();
}
?>

Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#11 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 16:54

Do post #07 funcionou, do #10 não.
Mas ai eu usei o que você fez anteriormente e deu certo a chamada de uma página, fiz assim:
<?
function pegarInfo()
{
  $resposta = new xajaxResponse();
  ob_start();
	include("../index.php");
	$res = ob_get_contents();
  ob_end_clean();
  $resposta -> addAssign("carregando", "style.display", "none");
  $resposta -> addAssign("phpinfo", "innerHTML", $res);
  return $resposta -> getXML();
}
?>
Muito legal!
Com carregando e tudo mais.. :)

Flws...
(y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#12 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 07/06/2006, 17:43

Não estou conseguindo baixar os arquivos. Será que um de vcs não podem disponibilizar esses arquivos ai pra gente não.

Té mais ;)

Walison(GENNF)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#13 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 17:53

Ué, aqui deu certinho pra baixar, mas mesmo assim:

[ tirei... ]

Flws...
:blink: Até mais

Edição feita por: Frenesi, 07/06/2006, 18:00.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#14 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 07/06/2006, 17:57

Valeu Frenesi...

Mas não consegui abrir nenhum dos dois. :( Aparece uma mensagem dizendo que o arquivo está corrompido :(

E outra coisa :unsure: o que seria esse modificado?

Valeu mesmo...

---------------EDITANDO---------------

Consegu baixar pessoal ;)

---------------EDITANDO2---------------

Que anta que sou :P

Agora que vi que os anexos estavam no tutorial :P

Té mais ;)

Walison(GENNF)

Edição feita por: gennf, 07/06/2006, 18:04.

Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#15 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 07/06/2006, 18:03

Estranho, aqui funcionou tudo certo.. os 4.. :o
O modificado eu acho que é uma versão que o Balala disponibilizou. Sei não, deve ter alguma modificação.

PS. então tirei os links..

Flws..
:DAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq