Jump to content


Photo

Ajax - Biblioteca Xajax


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

#61 Keyne

Keyne

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado
  • Interesses:Desenvolvimento para Internet<br /><br />XHTML, DHTML, CSS, XML, PHP, MYSQL, JavaScript, Java, ASP

Posted 27/10/2006, 15:12

Olá, já utilizo ajax em minhas aplicações, com o framework xajax inclusive.
Cheguei no seu tópico porque estava buscando as funcionalidades da versao atualizada do xajax pq usava uma das primeiras quando foi feito o framework.

Analisando outros sistemas, vi alguns que são todos em ajax (pelo menos é o que parece).


Por exemplo, você clica no menu "Cadastrar usuário" ai aparece o carregando e carrega o formulario.
(mesmo esquema de um exemplo que rolo aqui nesse topico com a função file_get_contents, carrega o conteudo sem refresh.)

Pois bem, também andei dando uma estudada na forma de criar sistemas, que chama MVC (Model View Controller ou Modelo-Visão-Controlador) e também andei dando uma olhada no framework CakePHP que é baseado nesse modelo. O cakephp por exemplo, para criar a interface com o usuário (view) é utilizado arquivos como se fosse arquivos template "algo.thtml".

Bom minha dúvida é a seguinte , pra eu começar a tornar meus sistemas mais tecnologicos , sem aquela trocação de tela, sem aquele tanto de arquivo, centralizar tudo em classes no php e fazer um sistema diriamos "todo OOP". Eu uso essa lógica do file_get_contetents mesmo?
E a unica coisa que vai mudar que ao invés de dar refresh eu vo incluir através do innerHTML o conteúdo dessas páginas? Ou existe uma lógica melhor que essa?
Com essa lógica eu teria alguns problemas como por exemplo eu carregar um pagina que usa ajax dentro de um div via innerHTML via ajax tbm, funciona? entre outros, como upload, outras páginas que precisem de scripts no <head>.

[editando] achei um site que faz o que eu quero e ainda tem ajax no meiom, http://www.ajaxonline.com.br/
A cada clique no menu é carregado sem refresh.

Então, eu quero fazer basicamente isso, so que pra sistemas e carregar páginas mais complexas dentro do div
[/editando]


Bom em fim para vocês entenderem o que eu chamo de um sistema tecnologico, seria mais ou menos como se fosse um programa desktop no navegador, é onde eu quero chegar (complicado né hehehe)

Para ter idéia acesse esse site: www.bindows.com.br/ é um "AJAX, WEB 2.0 AND RIA FRAMEWORK"

esse é fodão. Só clicar la pra ver o demo.

Em fim acho que deu pra explicar tudo.

Valew

Fico no aguardo hehehe

Edição feita por: Keyne, 27/10/2006, 17:12.


#62 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 08/11/2006, 11:19

Agora ficou SHOW...

Estava tendo problemas com os caracteres malucos que aparecem nas respostas do XAJAX... Entrei em contato com um monte de programadores mas todos diziam...

"Coloca um charset na pagina assim e assado... e nao me torra mais!"

Conversando com o BALEIA(balala) :P ele me disse que assim como eu ele também teve problemas com servidores, quando voce tem um script que utiliza o XAJAX e coloca em outro servidor o mesmo script passa a executar com caracters malucos... (deve ser alguma configuração de server pra server)

Ai o Baleia teve a ideia de colocar um utf8_encode() nos resgates dos campos...

xxxxxx POG hein baleia hehe

Mas não funcionou... :(

Eu procurei no próprio XAJAX e encontrei uma função muito interessante que até aqui era desconhecida (pelo menos por mim) :P

XAJAX_DEFAULT_CHAR_ENCODING
Este troço ai é responsável pelos caracters malucos que são apresentados em alguns scripts... Busquei no manual e descobri que o autor do XAJAX havia definido isso como codificação padrão para as requisições... e que ele também criou um forma de mudar esta codificação...

Por exemplo você tem uma funcao assim:

function teste($valor){
$res = new xajaxResponse();

$res -> addScriptCall("alert", "Alguém você coisa". $valor);

$res -> addAssign("carregando", "style.display", "none");
return $res -> getXML();
}


Pra corrigir a codificação você faria algo assim

$nome = utf8_encode($_POST["nome"]);


Isso você tem que fazer para cada campo que precisa enviar... Imagina fazer essa correção em todos as suas fuções? Boa Sorte! :D

Calma é claro que o autor pensou nisso e simplismente fez isso pra facilitar pra gente...

$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();

Assim você só precisa "colar" estas duas linhas adicionar abaixo da instancia do XAJAX e ta pronta a nova codificação :D

Pra quem quiser saber mais ta aqui o manual XAJAX

Divirtam-se!

Falopa!

#63 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 08/11/2006, 12:02

Na verdade, o segundo arquivo no primeiro post do tutorial, estaria modificado para o charset ISO:

if (!defined ('XAJAX_DEFAULT_CHAR_ENCODING'))
{
	define ('XAJAX_DEFAULT_CHAR_ENCODING', 'ISO-8859-1' );
}

Já o método decodeUTF8InputOn, não conhecia mesmo :)
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#64 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 08/11/2006, 15:48

Na verdade, o segundo arquivo no primeiro post do tutorial, estaria modificado para o charset ISO:
É este que eu uso, ele funciona mas não muito bem em todas as aplicações :(



Agora que vi o tamanho desse post meu, só pra falar que existe esse decode.... :D


Mas eu vou estudar mais esse troço vi que existem vários metodos e "truques" para driblar algumas dificuldades na hora do desenvolvimento...

Ah, lembra que eu tinha dito que nem sabia como fazer pra enviar via post? Que falta de atenção a minha heheh

Fui ler o manual e descobri que posso enviar os dados diretamente do formulário para o XAJAX sem ter que criar uma função que pegue estes dados nos campos...

Eu sim fiz muito POG :P

Falopa!

Edição feita por: hostdesigner, 08/11/2006, 15:50.


#65 Akira_-.-

Akira_-.-

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 11/01/2007, 08:58

Estou utilizando o XAJAX, mas estou tendo problemas com sessão. :blink:

Utilizo duas funções:
function VerificaLogin($usuario,$senha);
e
function SelecionaPesquisa($nome, $escolaridade);


Na função VerificaLogin eu atribuo a sessão $_SESSION['logado'] o codigo do usuário logado;

Na pesquisa tento utilizar essa sessão e não estou conseguindo pq ela sempre fica nula...
Alguem sabe pq? :wacko:

Como devo proceder pra armazenar valores que preciso utilizar em outras funções? :rolleyes:

Obrigada pela atenção :)



oi oi, bom faz um tempo que voce postou isso mas quem sabe eu possa ajudar, primeira duvida...se voce esta usando xajax prq voce quer passar um dado para $_SESSION sendo que voce nao vai estar "atualizando" a pagina?..bom de qualquer forma...para uma funcionabilidade legal do xajax tente usar orientacao por objeto, creio que assim voce vai poder utilizar os valores em outras funcoes. eu fiz um exemplo pequeno e inutil ai mas espero que entenda, ele define um nome pelo primeiro methodo e eu recupero o nome definido...dentro da class mesmo...de uma aprofundada em php5 com OO que vale muito a pena..ahh tmb pus uma session criada que da pra recuperar ela na boa...bom espero que tenha ajudado..ai vai o exemplo o/

<?php
session_start();
include('xajax.inc.php');
class Usuario {
var $nome;

function Primeiro_methodo($n){
$this->nome = $n;
$_SESSION['nome'] = $this->nome;
}

function Segundo_methodo(){
$this->meu_nome = $this->nome."&nbsp;&eacute; uma pessoa simples";
}
}



function defineNome(){
$eu = new Usuario;
$resposta = new xajaxResponse();
$eu->Primeiro_methodo("AKIRA");//valor passado para o meu methodo..ou para a funcao dentro da class
$eu->Segundo_methodo();
$resposta->addAssign("id_div", "innerHTML",$eu->nome);
$resposta->addAssign("segunda_div", "innerHTML",$eu->meu_nome);
return $resposta->getXML();
}


$xajax = new xajax();
$xajax->registerFunction("defineNome");
$xajax->processRequests();
?>
<head>
<?php $xajax->printJavascript(); ?>
</head>
<body onload="xajax_defineNome();">
Primeiro_methodo, nome = <div id="id_div"></div>
<br>
<br>
Segundo_methodo, = <div id="segunda_div"></div>
</body>

#66 dani_alvesbr

dani_alvesbr

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 22/01/2007, 09:18

E ae?....

Estou precisando de fazer em ajax algo do tipo FAP, na área de Próximos Eventos é mais ou menos um calendário, onde o usuário escolhe o tipo e um combobox ai abaixo aparece todos os eventos já cadastrados em um BD so que de acordo com o selecionado titulo no combo.

(essa ai tbm foi feito com xajax)

Preciso Muito... fico no aguardoo


(y) MUITO OBRIGADOOOOOOOOOOOOOOOOOOOO!! :D

Edição feita por: dani_alvesbr, 22/01/2007, 09:21.


#67 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 22/01/2007, 12:12

Que bom que você precisa, assim você pode aprender ;)
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#68 dani_alvesbr

dani_alvesbr

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 22/01/2007, 12:48

Que bom que você precisa, assim você pode aprender ;)


Não cara, não é bem assim não. Eu estou lendo alguns artigos e estou tentando fazer. O que disse é se algum de vcs sabem de algum material, tutorial ou exemplo onde eu possa consultar pra esse tipo de 'sistema'.


Mas mesmo assim, vlw

#69 Akira_-.-

Akira_-.-

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 22/01/2007, 13:58


Que bom que você precisa, assim você pode aprender ;)


Não cara, não é bem assim não. Eu estou lendo alguns artigos e estou tentando fazer. O que disse é se algum de vcs sabem de algum material, tutorial ou exemplo onde eu possa consultar pra esse tipo de 'sistema'.


Mas mesmo assim, vlw


heheh cara ali naquele sistema nao tem nada de complicado...o.o'' simples assim ow...cria um banco com os vinculos certos, criando os campos que voce precissa e tentando fazer um controle por id...
na opcao onchange do seu select joga uma funcao que voce definiu no xajax la,

<select id="selecao" onchange="xajax_minhafuncaopegadados(xajax.getFormValues('iddoform'));">


recuperando o valor do option dentro do seu select...pegando o valor vai te retornar uma array..tipo
function ($form){
$valor_select = $form['selecao']
}

e dai voce manipula da forma que voce deseja fazendo uma query em um banco....

mysqli->query("SELECT * FROM basededados WHERE titulo_select = '$valor_select' ");
...
desculpa se ficou meio bagunçado..rs mas assim sao funcoes basicas do xajax..se eu ficar mais "sucegado" aqui no trabalho eu tento fazer o codigo inteiro..
flw





nao sei fazer a caixinha de editado..=X

mas minha tabela de dados eh uma base de dados sobre a base de dados..hauhauha valeu pela correcao..xD

"falopa" pra voce tmb..^^

Edição feita por: Akira_-.-, 22/01/2007, 14:15.


#70 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 22/01/2007, 13:59

Você sabe fazer um INSERT, UPDATE ou um SELECT?

Então já está no caminho se não, dê uma olhadinha nos tutoriais que existem neste link http://forum.wmonlin...p?showforum=109

tenho certeza que com um pouco de determinação e muita persistência e claro muito raciocínio e criatividade você fará algo ainda melhor do que o sistema que você tem em mente.

=================================
EDITADO

mysqli->query("SELECT * FROM basededados WHERE titulo_select = '$valor_select' ");

Tem serteza que você vai procurar registros na base de dados? não seria na tabela? ah só sua tabela chama-se "basededados" :D


Falopa!

Edição feita por: hostdesigner, 22/01/2007, 14:05.


#71 dani_alvesbr

dani_alvesbr

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 22/01/2007, 17:47

Você sabe fazer um INSERT, UPDATE ou um SELECT?

Então já está no caminho se não, dê uma olhadinha nos tutoriais que existem neste link http://forum.wmonlin...p?showforum=109

tenho certeza que com um pouco de determinação e muita persistência e claro muito raciocínio e criatividade você fará algo ainda melhor do que o sistema que você tem em mente.

=================================
EDITADO

mysqli->query("SELECT * FROM basededados WHERE titulo_select = '$valor_select' ");

Tem serteza que você vai procurar registros na base de dados? não seria na tabela? ah só sua tabela chama-se "basededados" :D


Falopa!


A consulta seria de várias tabelas. Estou terminando as paginas em PHP, de cadastro. e assim que terminar eu envio os códigos pra tu ver...

Nesse link o Bd. de uma olhada

Visao geral do BD

#72 chicodrummer

chicodrummer

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 30/01/2007, 21:11

Boa Noite Galera
estou tentando fazer uma tabela seja mostrada em uma DIV da seguinte forma:

function CarregaTabela()
{
	$objResponse = new xajaxResponse();
	
	$tabela = "<table border='0' cellspacing='0' cellpadding='0' class='tabela'>";
	
	$tabela .="<thead class='cabecalho'>
			   <tr>
					<td>Cód</td>
					<td>Nome</td>
					<td>Descrição</td>
					<td>Admin</td>
					<td>Editar</td>
					<td>Excluir</td>
				</tr>
				</thead>
				<tbody>";

	$sql = "SELECT id_grupo, nome_grupo, desc_grupo, admin 
			FROM grupo";
	
	$result = mysql_query($sql);
	$count = mysql_num_rows($result);
	
	if ($count > 0 )
	{
		while($dados = mysql_fetch_array($result))
		{
			$tabela .= "<tr>
							<td>{$dados['id_grupo']}</td>
							<td>{$dados['nome_grupo']}</td>
							<td>{$dados['desc_grupo']}</td>
							<td>{$dados['admin']}</td>
							<td>Ed</td>
							<td>Ex</td>
						</tr>";
		}
	}
	else
	{
		$tabela .= "</tbody><tr>
						<td colspan='6'>Não há dados para listar</td>
					</tr>";
	}

	$tabela .= "</table>";

	$objResponse->addAssign("tabela", "innerHTML", $tabela);
	$objResponse->addAssign("carregando", "style.display", "none");
	return $objResponse->getXML();
}		

// Registra a função para o XAjax
$xajax->registerFunction("CarregaTabela");


só que esta dando erro....
na hora que chamo essa funcao abre um alert em JavaScript com erro....

o que pode ser?
estou fazendo certo??

aguardo

#73 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 31/01/2007, 08:37

Possivelmente deva existir um texto nesse Alert, concorda?

Da forma como você definiu a variavel $tabela nunca vai funcionar.

Falopa!

#74 chicodrummer

chicodrummer

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 31/01/2007, 11:54

Possivelmente deva existir um texto nesse Alert, concorda?

Da forma como você definiu a variavel $tabela nunca vai funcionar.

Falopa!

e ai kra
nao entendi seu POST......
como q devo declarar a variavel $tabela ????
no alert que me aparece é exatamente o conteúdo da variavel $tabela ...
aguardo

#75 Akira_-.-

Akira_-.-

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 02/02/2007, 13:00

e ai kra
nao entendi seu POST......
como q devo declarar a variavel $tabela ????
no alert que me aparece é exatamente o conteúdo da variavel $tabela ...
aguardo


e ae cara beleza? entao eu nunca tentei usar thead..nem tbody...mas pelo que eu pesquisei tem que ter um tfoot no meio fora que esses <thead>etc etc tem que estar dentro de uma <table>....eu li nesse link...
http://www.w3schools...s/tag_thead.asp

mas entao nao sei se devido a essa sintesse ocorra algum erro no xajax...bom de qualquer forma poste o erro que foi gerado...abraço e boa sorte..
o/




0 user(s) are reading this topic

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

IPB Skin By Virteq