QuickFire Posted January 30, 2006 at 10:34 PM Report #13000 Posted January 30, 2006 at 10:34 PM Depois de alguma pesquisa sobre AJAX na web encontrei um framework que facilita a vida de qualquer webmaster. Chama-se Sajax. Este framework dá para trabalhar em inúmeras aplicações entre elas: PHP, ASP, Cold Fusion, Pytho, Perl, entre outros... Para mais informações sobre Sajax vão ao site http://www.modernmethod.com/sajax/ Bem começemos agora a parte 1 do nosso pequeno tutorial. Vai consistir basicamente em criar uma calculadora para multiplicar. Espantoso dizem vocês. Mas com esta calculadora vão puder fazer tudo e mais alguma coisa se tiverem imaginação. Então para isto precisamos do ficheiro 'Sajax.php' que facilmente encontram no site acima e aqui vai o código devidamente comentado: <?php // Incluir o Sajax require("Sajax.php"); // Criar uma função que vai ser utilizada pelo Sajax (podem também incluir um ficheiro com várias funções sem ter de a criar agora) function multiply($x, $y) { //Função que vamos usar para multiplicar return $x * $y; } // Instancia à classe do AJAX sajax_init(); // Este é o debug mode, quando ligado (1) ele diz-nos todas as informações e mais algumas, é porreiro quando estamos a desenvolver, quando acabar o desenvolvimento desligam(0) $sajax_debug_mode = 1; // Declara a função que vai ser utilizada pelo Sajax (neste caso é a função que temos em cima) sajax_export("multiply"); // Declaração obrigatória sajax_handle_client_request(); ?> <html> <head> <title>Calculadora de multiplicar</title> <script> <?php // Declaração obrigatória, serve para criar os códigos necessários de javascript sajax_show_javascript(); ?> // Para cada função criada no PHP é preciso fazer 2 funções no Javascript, sendo que a primeira trata os dados vindos do utilizador, e a segunda trata os dados returnados pelo PHP function do_multiply() { var x, y; x = document.getElementById("x").value; y = document.getElementById("y").value; // Função responsavel por enviar os dados ao PHP, esta tem de ter o prefixo de 'x_' (sem plicas), logo como a nossa função se chama 'multiply', esta vai ficar 'x_multiply' x_multiply(x, y, do_multiply_cb); } // Função responsavel por intrepretar os dados vindos do PHP, neste caso dá o valor returnado ao text input z function do_multiply_cb(z) { // Atribui o valor do retorno do PHP ao campo de id chamado z document.getElementById("z").value = z; } </script> <!-- Analytics --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-31683991-1']); _gaq.push(['_setDomainName', 'portugal-a-programar.pt']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <!-- /Analytics --><!-- Analytics --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-31683991-1']); _gaq.push(['_setDomainName', 'portugal-a-programar.pt']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <!-- /Analytics --><!-- Analytics --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-31683991-1']); _gaq.push(['_setDomainName', 'portugal-a-programar.pt']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <!-- /Analytics --></head> <body> <input type="text" name="x" id="x" value="2" size="3"> * <input type="text" name="y" id="y" value="3" size="3"> = <input type="text" name="z" id="z" value="" size="3"> <input type="button" name="check" value="Calculate" onclick="do_multiply(); return false;"> </body> </html> E pronto, básicamente é só isto. Vão 'brincando' com o código e vão ver resultados surpreendentes. Cumprimentos
Dabubble Posted January 30, 2006 at 10:39 PM Report #13004 Posted January 30, 2006 at 10:39 PM Um parece ser uma framework muito interessante... sera que tb ha para JSP/Struts ? e que ainda nao e simples nem escalavel programar Ajax lah.. (pelo menos que eu saiba)
QuickFire Posted January 30, 2006 at 11:10 PM Author Report #13006 Posted January 30, 2006 at 11:10 PM Eu não vejo nenhuma referência a JSP no site, nem nos ficheiros do Sajax por isso suponho que não dê :|
djthyrax Posted November 16, 2006 at 07:30 PM Report #64763 Posted November 16, 2006 at 07:30 PM Um parece ser uma framework muito interessante... sera que tb ha para JSP/Struts ? e que ainda nao e simples nem escalavel programar Ajax lah.. (pelo menos que eu saiba) https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/ Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
jreis Posted January 7, 2007 at 08:03 PM Report #75054 Posted January 7, 2007 at 08:03 PM !! Parece-me mais complicado de trabalhar do que o método "normal", sem framework nenhum... Alguém me explica isso melhor..? "Pensa positivo: tudo pode piorar"
DRKaQUiLa Posted January 12, 2007 at 12:08 PM Report #75884 Posted January 12, 2007 at 12:08 PM Sinceramente prefiro o método standart (XMLHTTP), é muito simples de usar. Uma pergunta, com esta framework os caracteres, do ç é, não vêm marados?? Cumps.
QuickFire Posted January 12, 2007 at 03:16 PM Author Report #75916 Posted January 12, 2007 at 03:16 PM Sinceramente prefiro o método standart (XMLHTTP), é muito simples de usar. Uma pergunta, com esta framework os caracteres, do ç é, não vêm marados?? Cumps. Vêm sim 🙂 O que fiz foi passar as vars com um encode, na altura resultou 😉
jreis Posted January 12, 2007 at 05:23 PM Report #75947 Posted January 12, 2007 at 05:23 PM Se estás a tentar passar strings com esses caracteres para javascript, o output tem de estar em UTF-8, salvo erro. Penso que um utf8_encode() chega, mas por via das dúvidas convem enviar um header com o encoding correcto. Digo eu. "Pensa positivo: tudo pode piorar"
DRKaQUiLa Posted January 14, 2007 at 12:44 AM Report #76127 Posted January 14, 2007 at 12:44 AM Sim. Foi esse o método que arranjei para que os caracteres não viessem marados. utf8_encode() no php (por exemplo), e quando recebo no javascript, faço o URIDecode() 😁 Cumps pessoal.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now