Webly: Coldfusion 8: Ajax Tutorial 4 - Atualização Parcial De Páginas - Webly

Ir para

Regras para postagem

É permitido postar livremente respostas com comentários, testes e avaliações dos scripts. Postagens contendo dúvidas sobre o script, deverão ser postadas no fórum principal de ColdFusion.

IMPORTANTE: Todos os tutoriais postados neste fórum irão automaticamente para o portal Webly. Contribua você também e faça parte da equipe de colaboradores que fazem a evolução da web. Obrigado.
Página 1 de 1

Coldfusion 8: Ajax Tutorial 4 - Atualização Parcial De Páginas Avaliar tópico: -----

#1 Membro offline   Tofinha Ícone

  • iEvolution - ColdFusion
  • Ícone
  • Grupo: Membros
  • Posts: 98
  • Cadastrado: 16-julho 06
  • Localização:Brasília - DF
  • Interesses:Deus, Família, Amigos, Zellen Rich Applications, ColdFusion, Java, Plataforma Flash, Flex

Postou 12 agosto 2007 - 09:54

Salve galera!

Dando sequência a série de posts do Ben Forta, postamos agora o seu quarto post que trata das novas funções e incrementos do Ajax nesta nova versão.

Informações:
Post original: ColdFusion Ajax Tutorial 4: Partial Page Updates
Autor: Ben Forta


Aplicações AJAX permitem que os desenvolvedores atualizem partes da página da web sem precisar restaurar a página inteira. Clicar em um link e outra área da tela é atualizada, clicar com a seta para aumentar ou diminuir uma caixa de detalhe inline, submeter um formato e receber a confirmação sem atualizar a página e assim por diante.

Esse tipo de interação usa uma chamada http assíncrona e retorna para o servidor para adicionar dados, ou processar formatos de submissão, e assim por diante e o cliente Javascript atualiza partes específicas da página (usualmente definida usando tags <DIV>).

O ColdFusion 8 faz esse tipo de interação muito simples, permitindo que controles sejam ligados para outros controles, assim quando um controle muda (ou ocorre um evento) um segundo controle pode ser atualizado fazendo uma chamada assíncrona para o ColdFusion no servidor.

Para demonstrar isso, aqui temos um simples exemplo. Uma lista de itens de art é exibida em um controle <SELECT>, e clicando em qualquer item atualiza uma descrição abaixo dele. A lista de descrições não está no cliente, pelo contrário, quando um item de art é selecionado o seguinte método no CFC é invocado:

<cfcomponent output="false">
  <cfset THIS.dsn="cfartgallery">
	 [i]<!--- Pega uma descriçao de arte --->[/i]
	 <cffunction name="getArtDescription" access="remote" returnType="string">
		<cfargument name="artid" type="numeric" required="true">
		[i]<!--- Define as variaveis --->[/i]
		<cfset var data="">
		<cfset var result="">
		[i]<!--- pega os dados  --->[/i]
		<cfquery name="data" datasource="#THIS.dsn#">
		SELECT description
		FROM art
		WHERE artid = #ARGUMENTS.artid#
		</cfquery>
		[i]<!--- Pegou?  --->[/i]
		<cfif data.RecordCount IS 1>
		   <cfset result=data.description>
		</cfif>
		[i]<!--- e retorna isso --->[/i]
		<cfreturn result>
	 </cffunction>
  </cfcomponent>


O método aceita um identificador da art e retorna a descrição de arte como uma string.
Agora vamos para o código cliente side:
[i]<!--- pega lista de artes --->[/i]
  <cfquery datasource="cfartgallery" name="art">
  SELECT artid, artname
  FROM art
  ORDER BY artname
  </cfquery>
  
  [i]<!--- mostra lista de artes --->[/i]
  <cfform>
  <cfselect name="artid"
		query="art"
		display="artname"
		value="artid"
		size="10" />
  </cfform>
  
  [i]<!--- DIV para descirção --->[/i]
  <cfdiv bind="cfc:art.getArtDescription({artid})"
	 style="background-color:grey; color:white; height:100; width:200" />

Primeiro a lista de art é restabelecida (e sim, esse é um exemplo ruim, a query deveria estar no CFC também e não no cliente, mas eu quis manter esse exemplo o mais simples possível). <CFSELECT> é usado para exibir a lista de itens de art. E então <CFDIV> é usada para definir uma <DIV> e para estabelecer uma ligação. Esse <DIV> vai para o método CFC anterior, e passa {artid} (o nome do controle <SELECT>) como um argumento. Desse modo, toda vez que a seleção no <SELECT> muda, o binding é disparado, o método no CFC é invocado, e a exibição é atualizada com a string retornada.
Francisco C Paulino
Tofinha
Diretor de TI
Blog da Zellen
http://blog.zellen.com.br/
ZPlayer - Player de vídeos em formato flash
http://www.zellen.com.br/zplayer/
"Adaptando soluções, gerando interatividade"
0

Página 1 de 1


Resposta rápida

  

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)