Usando cfajaxproxy como exemplo para 'adicionar ao cart'

Problema:

Quero criar um objeto JavaScript de um CFC e então usando um evento onclick, passar meus argumentos para o CFC. Por exemplo, útil para um botão "Adicionar ao Cart" sem ter que submeter a página.

Solução:

Você pode criar seu CFC e um objeto JavaScript usando cfajaxproxy, jsclassname. A classe proxy JavaScript é que irá representar o CFC. Você pode então criar um botão de envio com um evento onclick, neste evento, usando o proxy, você então passa quaisquer argumentos para o CFC remotamente.

Explicação detalhada:

Em CF8, jsclassname faz isso para voce, criando uma classe proxy JavaScript que representará o CFC que voce quer chamar. Que tal ?

<cfajaxproxy cfc= cart" jsclassname= "cfccall" />

Em seguida, crie um botão de envio com um evento onclick, neste evento, usando o proxy criado apenas passar os argumentos para o CFC. Para capturar o retorno do CFC, este exemplo usa uma simples janela de alerta em Javascript. Para o efeito do exemplo, tudo está no evento onclick, porém isto evita você de escrever uma função JavaScript com a validação de seus dados antes de serem passado para o CFC.

<cfform name="myform">
     <cfinput type="button" value="Add To Cart" name="addme"
     onClick="alert((new cfccall()).addFunction(prodId=#prodId#,qty=1))">

</cfform>

Para fazer este exemplo funcionar, voce terá que se certificar que o componente criado tenha o parâmetro access="remote".

<cffunction name="addFunction" access="remote"
returnType="string" verifyclient="yes">

Espero que isso ajude.

by Glyn Jackson

Versão em inglês: Adobe ColdFusion Cookbook

Creative Commons License Adobe

 

0 responses to “Usando cfajaxproxy como exemplo para 'adicionar ao cart'”