QuickFire Posted January 30, 2006 at 10:34 PM Report Share #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 Link to comment Share on other sites More sharing options...
Dabubble Posted January 30, 2006 at 10:39 PM Report Share #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) Link to comment Share on other sites More sharing options...
QuickFire Posted January 30, 2006 at 11:10 PM Author Report Share #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ê :| Link to comment Share on other sites More sharing options...
djthyrax Posted November 16, 2006 at 07:30 PM Report Share #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! Link to comment Share on other sites More sharing options...
jreis Posted January 7, 2007 at 08:03 PM Report Share #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" Link to comment Share on other sites More sharing options...
DRKaQUiLa Posted January 12, 2007 at 12:08 PM Report Share #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. Link to comment Share on other sites More sharing options...
QuickFire Posted January 12, 2007 at 03:16 PM Author Report Share #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 😉 Link to comment Share on other sites More sharing options...
jreis Posted January 12, 2007 at 05:23 PM Report Share #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" Link to comment Share on other sites More sharing options...
DRKaQUiLa Posted January 14, 2007 at 12:44 AM Report Share #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. Link to comment Share on other sites More sharing options...
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