Pregled posta

Adresa bloga: https://blog.dnevnik.hr/dj0ml4

Marketing

Ajax

Ne nije to jos jedan nogometni klub na ovim nasim balkanskim podrucjima.
Rijec je o relativno staroj "tehnologiji" samo sa modernijim pristupom i gledanjem na web.
Ustvari radi se o Javascript tehnologiji zajedno sa XML-om.
Ovdje cu prikazati tj. pokusati objasniti shemu kako stvari funkcioniraju ....
Koristit cemo Ajax sa PHPom, a "tool" za to ce nam biti SAJAX. Kojeg uredno mozete skinuti sa
http://www.modernmethod.com/sajax/
On je nista vise nego obican wrapper u php-u koji sluzi za olaksavanje situacije na terenu.
Za primjer cu uzeti kalkulator:
demo : http://www.modernmethod.com/sajax/sajax-0.10/php/example_multiply.php
source : http://www.modernmethod.com/sajax/sajax-0.10/php/example_multiply.php.txt

E sad kad imamo sve krecemo from the start. Ne zanima nas Ajax ... nego SAJAX kao wrapper.
Imamo kod



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;">



Dakle svaki element na nasem "siteu" ima pripadajuci ID. name="X" ima id="x", a name="y" ima id="y"
mozete definirati kako hocete samo da bude strihtno. Dva polja x i y su unosi a z je naravno produkt :)

imamo i button koji na event onClick radi do_multiply(); U tom trenutku pocinje akcija.
No ajmo mi na PHP kod i includanje sajaxa


require("Sajax.php");

function multiply($x, $y) {
return $x * $y;
}

sajax_init();
// $sajax_debug_mode = 1;
sajax_export("multiply");
sajax_handle_client_request();


Prva linija poziva putanju do sajaxa i tik ispod nje imamo PHP funkciju koja unosne dvije varijable mnozi i vraca njihov umnozak. Ispod startamo Ajax, i jedna od najbitnijih exportiramo tu funckciju :)
Jako bitno za zapamtiti ... pazite na ilegalna imena poput mail, sendmail i slicno. I na kraju obavezno
sajax_handle_client_request(); bez ovih stvari sada necete daleko :)

Konacno dolazimo na javascript ... on je u stvari vrlo jednostavan ....


function do_multiply_cb(z) {
document.getElementById("z").value = z;
}

function do_multiply() {
// get the folder name
var x, y;

x = document.getElementById("x").value;
y = document.getElementById("y").value;
x_multiply(x, y, do_multiply_cb);
}


Rekli smo da button onClick zove funkciju do_multiply(); ... sta ona radi.
Prvo setira dvije varijable "var x,y" onda tim varijablama pridruzuje neke vrijednosti. Sad je tu bitno kako ste nazivali one id-ove dole. x=document.getElementById("x").value vraca vrijednost input polja pod ID-om "x" ili kako ste ga vec nazvali. Kad imate obije vrijednosti funkcija zove drugu funkciju
x_multiply(); => ovo je ustvari nasa PHP funckija samo exportana ima prefix x_ :)
Ali djomla kako tri vrijednosti kad nasa PHP funkcija prima samo dvije. Treca vrijednost u pozivanju funkcije "do_multiply_cb" kaze da rezultat funkcije x_multiply vrati u funkciju do_multiply_cb
a ona radi sljedece :


function do_multiply_cb(z) {
document.getElementById("z").value = z;
}


Preuzima vracenu vrijednost PHP funkcije i postavlja ID-z (njegovu vrijednost) na Z, dakle na vrijednost koju je PHP funkcija vratila.

voila ... cas posla. Fino i frisko ... See you next time ...

Post je objavljen 20.12.2005. u 13:30 sati.