«

»

Sep 05

Print this Post

Como posso trabalhar com formulários HTML remotos?

A natureza do trabalho com páginas de envio de formulários HTML  é tal que, por padrão, eles não fazem qualquer distinção em relação à origem dos dados do formulário. Em outras palavras, se uma página manipuladora de formalário está esperando para receber o lançamento de um nome e um valor de endereço, ela não sabe (ou se preocupa) se os dados do formulário vieram de uma página em seu servidor, ou de outro servidor. Tomemos por exemplo, muitos dos sistemas de contabilidade de cartão de crédito dos comerciantes. O cenário típico para estes sistemas é para você fornecer um formulário em seu site que contém os dados que você tenha coletado para uma transação comercial. Você coleta informações como nome do cliente, endereço de faturamento e número de cartão de crédito em um formulário. Em seguida, envia este formulário de dados para uma página especificamente no site do crédito da empresa de processamento de cartão. Esta página de  processamento executa toda a magia da transação com cartão de crédito, e, em seguida, informa o usuário sobre o resultado. O grande problema com este cenário é que o seu cliente já deixou o seu site, e esta não é a solução ou a experiência ideal do usuário.

Entre outras funcionalidades, a tag <cfhttp> do ColdFusion fornece uma maneira para você postar os dados a um formulário remoto e, em seguida, obter os resultados que são emitidos a partir da página de resultados do formulário uma variável do ColdFusion. Você pode, então, processar a variável com o resultado (o resultado de envio de formulário) dentro de seu aplicativo ColdFusion. Assim, com o nosso exemplo acima de processamento de cartão de crédito, nós poderíamos deixar <cfhttp> sair do nosso site, post os dados do formulário, recuperar os resultados da transação com cartão de crédito, e então facilmente mostrar o resultado para o usuário, tudo isto dentro do nosso site.

Em ordem para usar <cfhttp> para postar em um formulário remoto, você precisa saber o endereço completo do template que estará postando. Você também precisa saber cada parâmetro esperado pelo formulário, e incluir uma tag <cfhttpparam> para cada um destes parâmetros. Um exemplo de <cfhttp> form post ficaria da seguinte forma:


<cfhttp url="http://127.0.0.1/formHandler.cfm" method="post">
     <cfhttpparam type="formField" name="creditCardNumber" value="#localCCNum#">
     <cfhttpparam type="formField" name="userName" value="#localName#">
</cfhttp>

Note como podemos passar qualquer variável (neste caso estamos usando o conteúdo dinâmico de variáveis ColdFusion) para o formulário remoto via o value do <cfhttpparam>.

Os resultados do form post  será contido na variável cfhttp.fileContent. Você pode acessar essa variável para analisar a reexibição e quaisquer dados. Em nosso cenário de processamento de cartão de crédito, nós provavelmente queremos analisar a mensagem de status da transação para que possamos mostrar dinamicamente ao usuário uma mensagem de êxito ou fracasso.

A tag <cfhttp> é uma ferramenta muito poderosa, e ela pode ser usada para muitas coisas. Alguns outras tarefas  comum <cfhttp> incluem obter o clima atual e cotações de ações. Uma última coisa a lembrar sobre <cfhttp>: você não está limitado a páginas ColdFusion. Um formulário é um formulário, então sinta-se livre para usar <cfhttp> para se comunicar com qualquer outro tipo de formulários, inclusive aqueles feitos com JSP, ASP, PHP, etc

by Jeremy Petersen

Permanent link to this article: http://ensina.me/coldfusion/como-posso-trabalhar-com-formularios-html-remotos/

Leave a Reply