|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
|
04. 06. 2009. | #1 |
član
Certified
|
jQuery - closures i callback funkcije
Ćao!
1. Na koji način postići da closures rade i u okviru callback funkcija? U primeru ispod sam prvo setovao promenljivu prom1 i promenio sam joj vrednost u okviru callback funkcije koja se nalazi u $.post. Međutim, kao rezultat alert(prom1) dobio sam "1"! Kôd:
$(function() { var prom1 = "1"; $.post("/nekiurl/", {}, function(data) { prom1 = "2"; }); alert(prom1); }); |
04. 06. 2009. | #2 |
majstor
Wrote a book
|
2. Mislim da to ima veze sa asinhronim i sinhronim zahtjevom. Ako promjenis (negdje, ne znam na pamet gdje) da to ide sinhrono onda ces dobiti cekanje dok ne dobijes odgovor.
|
13. 06. 2009. | #3 | |
Domagoj Horvat
Expert
|
Citat:
http_request.open('GET/POST', url + parameters, true); posljednji bool parametar je is async, dakle, flag koji govori kako ce zahtjev biti procesiran. Medjutim, opcenito, puno je preglednije i 'ljepse' da odradis sve asinhrono. Dakle, na nekom mjestu u kodu radis request, a u callbacku radis obradu responsa jer sasvim je logicno da ono sto stigne u response postoji u okviru callbacka a ne sire. Ako ti pak to treba i negdje drugdje, onda iz callback funkcije pozivas dalje funkcije i prenosis sta trebas. To je, uostalom, i bit AJAXa da svaki entitet u okviru DOMa ima svoju komunikaciju sa serverom bez da se petlja u scope koji je siri od njega samog. [EDIT] Dakle, konkretan razlog je: zahtjev ode asinhrono i treba mu neko vrijeme da se vrati response i pozove callback u kojem postavljas prom1 = "2". Medjutim, u medjuvremenu, izvrsavanje skripte je vec otislo dalje i prirodno ti dalo "1" jer u trenutku prije nego se vrati response prom1 je jos uvijek "1". [/edit]
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo Poslednja izmena od dee : 13. 06. 2009. u 13:34. |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Bliznakinja funkcije getimagesize()?? | trazimcuruzabrak | PHP | 18 | 03. 11. 2010. 03:34 |
Re-definisanje PHP funkcije? | AnonymousCoward | PHP | 2 | 06. 02. 2010. 03:33 |
Wordpress i moje funkcije?? | Darthvan | Sva početnička pitanja | 0 | 05. 01. 2010. 12:07 |
Statističke funkcije | misko_ | PHP | 0 | 30. 07. 2008. 15:32 |
vracanje niza iz funkcije | bojan_bozovic | PHP | 4 | 06. 02. 2006. 10:23 |