Ajax All About - arabic

download Ajax All About - arabic

of 60

Transcript of Ajax All About - arabic

  • 8/17/2019 Ajax All About - arabic

    1/60

     

     !#$%#&  ')* ,- Ajax 

    "$% Ajax'()  *'+,- Asynchronous JavaScript and XML./01 23  %?1'+ '6>4-$.@$B79.1 ;1 % g6M+ @#%'/H g6$  hLi$MN2(/9  a$ $# g6,H

  • 8/17/2019 Ajax All About - arabic

    2/60

    GL/E..1 S$S b6'D+ 'D` @$,3  #'f-  pL1HM1 4(•  *'cL\4-$  *'DK  #'E  % SM`.4[L+  *as a$G6%,3 " 2JfY 23 'X+K C6 GLRMK u9M1 VMD01  #MOHTTPu9M1 WI% 23  hL>?[1 V'-#$ @'9 23 SM`.+$MN$,H$%'9 ;'1,H C6@$  #MKM1 23 ;

  • 8/17/2019 Ajax All About - arabic

    3/60

    ?* >)& @BCB()EG:I 

    7+B =,:4 J84 K. (CL$),*J-6")9 N):- (! @BCB O8"C$K& N'=:- +P$ >' JE$+E#"' 0)*0' 0(D)#R 0+:B().134D 69' >)EG:I

  • 8/17/2019 Ajax All About - arabic

    4/60

     @3H2

     

    t7`@'i1 % 24-$ S,E S'f?-$ SMN 2R'>1  #S &,e 2E G/?[i @,6%'oK .t7`12[6'>1 2E 4-$ @$.1 ;'Z+21'+,3 2E GiSb/E 2+Mqn .?/- I% 4JK @'i ,3#'E @'i.1 46,6G1 $#@$  % G//E2+Mqn B79

     gLDiV,?/E $# &'LQD).1G/E. 

    t7`2.1 ;'Z+ 2E 4-$ @,q6S 2[6'>1 GiSWhL/E  hL-,K ;'1a  #MJ1  #S $# 46'- C6 '3  ,3#'E t1'0K  ,e$G/6?[1  ,?ZL32E G`'3 @,e#%,1  % t1').1 S'f?-$  ,3#'EG/E. 

    ;'3a 23  PM3,1 &sMJK  ,L- 23 .i'q+21'+,3 @'i.[6M+G/+'1 I%PHP % ASP 6  a$CV'(T$ bi'E  %  M-21'+,3@#%'/H 23 ;'[6M+;M~Di .6'i ActiveX %Java Appletg6$ G6M1 W,q6S @M-  a$ 4/6UE 4D-  #S

    4-$ 2?7+.

     #S *,+ @'L+S 29MK  hm1 t6sS  a$ .76 / T$%@$ @#%'/H 23  #$pH$4-$ gLDi B79.g6$|UN,3 S#%'?-S@#%'/HG/+'1 .6'iMacromedia Flash /1a'L+ *,+ 0 Li uo+ G #$pH$ % 4[L+  ,e#%,1 @%# .H' *$  % .T'JR$

    S'L\ @$,3  *as  ,?[3 s': gLDi@$ @a'-@%# B79;MLQL1S#$S SM9% I%  ,e#%,1  % 46'- 'i.W;'L1 g6$  #S@$ @'7K$@#%'/H  ,3 B79XML a$ 1 6% 4LDi$4-$  #$S#MN,3 @$.

     $,6aXML2E 4-$  a'3 @#%'/H C6 '?Li'1|'x0+$ 6d\ hi  % S#$S @S'6a @,S,?[e !'L>1  #S ;M/E$ #S @$ *,+ a$ WI% 4JK @'i#$pH$ h?[L-'XK @'i *,+ 'K 2?H,e CL+%,?7R$46'- @$M?J1 46,6G1 @'i#$pH$@'i % I%@#%'/HI% ;M~Di .6'iWB6%,-RSS #$,T S'f?-$ S#M1 3 /L?[ES'\ .?:  %.1S,Le.

     @$  #Mm 4.1 ;'Z+ B79 #%'/H 2E GiS@XML4LQ3'T  aM/i@'ijZEGZ+ ,73 ;'/~Di 2E S#$S @$G+'1.1  % G+$ #S 6 #p3 &sMJK 'Z/1 G/+$MK h?[L-G/`'3 .O'(K#$  % .K')UO$ @'i.

     

  • 8/17/2019 Ajax All About - arabic

    5/60

    . ?cdAjaxK$Ce;569' 

    !D(D. fh)%- K&0' J8"C$J,$ KZ)i- U"' (! K. 69' JYjW- D V:X:I KZCi- 134JZD O_#BlLZ >' JZ)n@3H )& J,. K. 68:$ 0' 0)*. KR):[ D"CH )#H` 134.K$C,$ +"> .0'o JH Nq^' >'XMLHttpRequestJ- N)G$ '(*!:

    .1 

    .2K$C,$ >' 0'JH Nq^'oXMLHttpRequestN)G$ JER)9D+3")- 0)*+B(D+- (! '(J-*!: 

    .2 

    .3K$C,$. >' 0'J- N)G$ '( 6r"+39' 'D)4 J8"C$*!.0' (!0sCZDE- >' (CRD K& 134DOM 9' 'D)4 (!D 6r"+3DHTMLJ- V!)WE9'?:#.: 

    .3 

    .4K$C,$ =:$KY:9D K& )t)iF S" A)9(' uD( >' 0'AjaxN)G$ '(J-*!: 

  • 8/17/2019 Ajax All About - arabic

    6/60

    J- )t)iF U"'. 7(Ck K& bD KvWk S" >' JE,8[ >' qw- $'CF5H)&: 

    .5 

    )"(! y9)I )E")z$J- =:$ '( (D+9 6,9 >' VH 6RK& K:%H 0. KY:9D K& N'CF.6!'! ('+[ V!)WE9' !(C- : 

    .6 

    S,76%# WP'(K#$ gLDi  #S@$I% @#%'/H 4D- 23 B7929MK t3'T B6%,-4-$.2E 'X+H 2+ $#' 6,O  a$ 27Q3 WI% 2JfY C6 G/iS 46'-s'D?:$ 2E @,q6S @'i % B6%,- I%  ,?[3  ,3 $# SMN &')UO$XML ,TS$S  #$G+$G/E 4H'6#S  pL+.@$ g6$,3'/3@#%'/H C6 M>R'3 B79

     pL+ B6%,- I% '3  #'ea'-G?[i. ,q6S  hm1 46p1 Ajax,m3S#$G+'?-$  a$ ;H #%,-(S,E .>QK. 

    @$ WSM9% g6$ '37 J3 % M * M1 u6'01 g6$  % S#$S  pL+ .(6'01 B7921'+,3 tH'J1  #S @#'L[3@%# .[6M+ 

    4-$ 4+,?/6$.S$,6$ ;$M/) 23 2E .Q{'[1  a$ .76 a$ S'f?-$  #S ;$,3#'E &S')  ,LLcK @#$M`S WG` # ,x1@'iGLQEBack %Forward %Refresh4-$ I% @'i,e#%,1  #S.21'+,3 &U7Z1  a$ .76#$MDi I% ;'[6M+

    '6 2E 4-$ g6$2DES g6$  a$  ,?DE 2n,i 2E G/iS &S') $#  ,3#'E G6'3 *,+ '6  % G/E S'f?-$ 'i #$pH$$# SMN

    2DES g6$  a$ $GD) '6 $Mm-  ,3#'E  ,e$ 2E G/[6M/3 @#MOWS,E S'f?-$ 'i *,+ pH$ #S 'xN  % '(?`$  #'nS  #$SMZ+  ,3#'E tD)  ,L[fK.

     

     aM/i V' 8 1 ;$M/) 2346'-  a$ @#'L[3 *'q/i G/RMcZ1 &sMoJ1  %,H  #'E 23 2E .7L+%,?7R$ 'XK @'i;G  ̀.O.1  #$GZi  ,3#'E 23 g6U+HM1 pL1

  • 8/17/2019 Ajax All About - arabic

    7/60

     

    2DES ;G+'X/e '3 G6'3 '6W.H' *$ gL1$,H  % 'i *pL+'71Undo@$  #MKM1 '6  % G/E @a'-a'3 $#@#MO $# B792DES ;S,ZH 2E G[6M/3Back;'1,H  #'r:$ u9M1 SMN 23 SMNUndoSM`.

     #'E MY  %S  ,i  #S21'+,3SM3 Gi$Mk+ ;'-K G+$MK46'- '2E .?6'- @%# B6%,- I% C6 23 $#  ,q6S @'i

    I% 2JfYI% g6$  % G?-,f3 4-$ G1K  % G/E tD) 2x-$% C6 MY 23G/E V'-#$ Go>1.I% g6$B6%,- Y$ 2x-$% @'i':Ux Application ProxyGL1'+.1G+M`.

     @$ 2?(R$26'1 ;$G/n 2E S#$S  hi @,q6S .(/9  % CnME &U7Z1 B79t3'T V':,i 23 .R% 4[L+ .+$,q+

    G/?[i BDR. *,+ W2+MD+ ;$M/) 23 ,3 ./?(1 @'i#$pH$@$S'f?-$ 456,7-$ $%'9 @S'6a  hX:  a$ B79.1 ,i  #S 'm/6$ 2Di 2E G//Esession4-SC6  hEG+M` @#$de#'3  ,e#%,1 @%# G6'3  #'3.@#'3 gLR%$ g6$,3'/3

    gL/n 2E.1 @#$de#'3 .[LH,?/6$;

  • 8/17/2019 Ajax All About - arabic

    8/60

    {%#4Open AjaxV'( >' ?*:9( 

    0' V"I (Cz| A)%$! K& K. JF}CvF K,* ()#. (!'#. uqF 134.J- J#:& {:IV!):I U"' K. !CH>' J3" K& 0>)90)*!('$)E9'0' JYk'' '( !Cn 0!)z#G:I

     

    2(C9 UI' Kc-)4 2+E9! (! 1r:Y.' D q">C- 0)*!):#&*!('+[.6.+H KL&'( U:,* (!Zimbra)9 S" OJ#E%- 0)*('=R'0' +&134K^C,_- !('!+P$(!ToolkitD q">C- 1$)8:Z 6vF '( !CnApache():En' (!K-)$+&*! ('+[ N)8"C$.

     

    $%'9  hX: .?T% V': gL)  #S.1 b6$pH$ 4/6UE @%# G` @#$de#'3 456,7-$ a$S,\ 4),- G3'6 ,3#'E 2E @,KML51'E.1 S'f?-$.1 t6G(K 2Q > [1 C6 23  pL+ G/ESM`.@$ W,q6S ;'L3 23B79/ 3'/1 $G6G` 

     %resource23 $#  h?[L- @'i.1#'E e.1 &$,9 23 27+'/n WS,L *,+ 4fe ;$MK@'i#$pH$./?(1 ,3 Ajax@$,3.1 S'f?-$ .D6GT  % jL0 * @'i,KML51'E  a$ 2E .+$,3#'Et3'T G//E4[L+ S'f?-$.

     2+  % 4-$ .1MD) t7Z1 C6 g6$ 2E  h6#$dq3 g6$  ,3 $# ? ,H  ,e$ a$ .D6GT @'i,KML51'E ./06 WI% ; ?k1

     *,+ G6G9 2k[+ @$,9$ #$pH$ pL+ v'?7-S & Mok1 @'i;$G/n t7Z1 g6$ 'q++  % G/E . 8 /N $# 2JfY SGX1 @#$de#'3 @$,3  #'r?+$ ;'1a bi'E.2+'?k(`MN

    / 6,- @'i G+a$S,\ '(K,1.1  #$a'3 S#$% @,K.1  % G+M`t7Z1 g6$ 2E SM3  #$%GL1$ ;$MK;HM1 @$,9$  , *': V':  #S  % G(QO2H,: BLH,?/6$ C6  pL11 gLDi g6U+

  • 8/17/2019 Ajax All About - arabic

    9/60

      Ajax./0)*

     "$% Ajax '3 A fQK' C1 WI% 2JfY EC tF SGX1 A#$de#'3 23  a'L+  *G) tLRSS$S4-$  *as 2F DC'iEC tLD8K A$,3Interactionbi'F &G  ̀23 WSM` 2RS'(1 4 C'-  %  ,3#'F ;'L1D 1 % G3' C *,+ 4),- ! M[J1 b C$pH$ D /01 23 g C$23 4RMm- WI% 4JK A'i#$pH$BLH,?/ C$ A,Le#'FA'i

    A$  ,3 D /?(1;1  #S B89S,?[e *,+ S'f?-$ S#M1 A$S,Le#$,T I% 4JK A'i#$pH$.'3  #'F 4),- b C$pH$ 'q+

  • 8/17/2019 Ajax All About - arabic

    10/60

  • 8/17/2019 Ajax All About - arabic

    11/60

    urlencoded'); req.send(data); 

    } } 

    function processReqChange() {// only if req shows 'loaded' 

    if (req.readyState == 4) { // only if 'OK' if (req.status == 200) { eval(what); 

    } else { alert('There was a problem retrieving the XML data: ' + 

    req.responseText); } 

    } } 

    Ajax. !"$%& '()* +" ,-.%-" /,.* 0!& %2* *$ 3%4 is 5.%6 +& 7%8 

    9.;*! 3%??.%@ A) $.

    !#$-W &(%#$;1:542 :7O  #$TMX2 I)O$@login

    4m9  #%,- 23 #'3%S 4Zea'3 A'X3 GL+$MK D 1 2+Mqn  h/L(3 GL6'L3A,3#'F  *'+  #'(?)$ GL6'K /E 6 A$,3  #M()  p1# *,Hlogin a$ Ajax ?-$GL/F S'f.

    456,8-$ S'X6$ '3 G6'L3PHP2F Ajax;  

    29MK:$%4-$ G` S'- D QLN V' 8 1 g6$ 2F 4-$   ̂*.VMD01 4R':  #S&')UO$ E +'3 E 6  a$ 'D`MySQL,LNG A$,3loginA$,3 A#$dep1#  a$ D Q:$,1  % ;$,3#'FD 1 S'f?-$  #%,- 23 4/6UF  a$ S$S V'-#$GL/F.

    2JfY GL6'L3 G03 2Q:,1  #Slogin h6a'[3 $# SMN.'3 G6G9 2JfY E 6 *'+login.html$ #S $#  ,6a GF  % GL/F S'X6 % D 5F ;

  • 8/17/2019 Ajax All About - arabic

    12/60

       

    var url = "login.php";var what = "LoginStatus(req.responseText)";function CheckLogin() {

    var username = document.getElementById("username").value;var password = document.getElementById("password").value;DoCallback("username=" + username + "&password=" + password);

    }

    function LoginStatus(Status) {if(Status == 0)

    alert("Bad login!");else

    alert("Login OK!");}

                  Username: 
      Password 

                

    2DQF W;'DR' 8 1 gLR%$ 4[K A$,3"user" % A,3#'F  *'+ GQLH  #S $#2DQF"password"$#)21MLe ;%G3(GQLH  #S2DFS  % GL/F S#$%  #M()  p1#"CheckLogin"GL6'D+ E LQF $#.

    / 3'K '1 $G?3$DoCallback!'\ '3 $# *'+ A'iGQLH  ,6S'>1 ;S$S2L(` WhL/F D 1 D +$MN$,H  #M()  p1#  % A,3#'F ,6a:

    DoCallback("username="+username+"&password="+password); 

    / 3'KDoCallback a$ Ajax2JfY D +$MN$,H A$,3login.php ,6S'>1 '3 a$ G` 2?H,e  #M()  p1#  % A,3#'F  *'+G/F D 1 S'f?-$ W*,H.2 ,Lc?1 'K t6'H As'3  #Slogin.html/ 3'K 23 2F 4-$ G` j6,0K Ajax2F G6Me D 1

    G/F  #'F 2n:

     

    var url = "login.php"; var what = "LoginStatus(req.responseText)"; 

     ,Lc?1url/ 3'K 23 Ajax % G?-,f3 'XF $# b6'i S$S 2F G6Me D 1 ,Lc?1what23 Ajax2n 2F G6Me D 1$ B\ G6'3 D 03'K;S'?-,H A$,3  #%,- ;G` S'114R': g6$  #S 2F SM3 Gi$MN  #%,-0A$,3 login % ' HM1'+1A$,3 login4-$ ' HM1.456,8-$  #S 2F 2+Mq+'Dilogin.php4-$ G` S$S ;'Z+:

    if($username = "user" && $password == "password") echo 1; else echo 0; 

  • 8/17/2019 Ajax All About - arabic

    13/60

     

    !#$-W &(%#$;2:542 : Drop Down/F$O2  3  #DY; /0)F$

    A'mi'q`%,H  ,?ZL3eCommerce2(-'J1  #Mr/1 23 W4+,?/6$ A%#  ,3 iD 1 'D  ̀ a$ t>+  % tD: 2/6pI'k?+$ $# SMN 4R'6$  %  #MZF W;S$S  #'f-  *'q/i 'K G/i$MNGL6'D+. a$ G03 2JfY #'3%S ;G` SMR A'9 23

    4[LR D 3'6a'3  #Mr/1 23  #MZF I'k?+$WhL/F S'f?-$ A#'F gL/n  *'X+$ A$,3 B89$  a$  hL+$MK D 1 W'm?R'6$;%G3 '1$refresh2JfY ;G`.

     6G9 2JfY E 6 *'+ 23 Gcountry.php #S  % D 5F $#  ,6a GF  % S,F S'X6$;

  • 8/17/2019 Ajax All About - arabic

    14/60

     function SetStates(States) {var stateBox = document.getElementById("state");stateBox.options.length = 0;if(States != "") {

    var arrStates = States.split(",");for(i = 0; i < arrStates.length; i++) {

    if(arrStates[i] != "") {stateBox.options[stateBox.options.length] = new

    Option(arrStates[i], arrStates[i]);}

    }}

    }              Country:    Australia   USA  
     State:            

    / 3'K WGL/F D 1 I'k?+$  #MZF E 6 'D  ̀28L+'1a Ajax a$ 4[LR E 6t6'H  a$ $#  #MZF ;

  • 8/17/2019 Ajax All About - arabic

    15/60

    456,8-$ GL6'L3 % %,` A$,3PHP$#  MX?[9 ]6'?+ 2F  h6a'[3 $# ;'1GiS D 1 4Ze,3. hi$MN D 1 ;Mn Y$ 26$#H '1 WG`'3 S'-  pLn 2DiE 6  a$  % 2?N'- D Q hL/F D 1 S'f?-$ S'-  h?6#MqR$.$#  ,6a GF

     *'+ '3 G6G9 t6'H E 6 23search.php2H' *$GL/F:

       

    2?[3  %  *$ 2?N'- 'i "$% GLQF  % 'i E /LR  a$ D q?N'- 26$#

  • 8/17/2019 Ajax All About - arabic

    16/60

     arrLinks = Links.split(",");

    for(i = 0; i < arrLinks.length; i++) {if(arrLinks[i] != "")

    results.innerHTML = results.innerHTML + "  "

    + arrLinks[i] + " 
     ";

    }}else {

    results.style.display = "none";}

    }            Search:               

    GF  a$ bk3 g6,?Dm1HTMLW'1textbox4-$  MX?[9.2L(` ApLng6$:

    Search:   

     #S ApLn 28L?T%textboxS$G6%# W4-$ G` z6'KonKeyUpG  ̀S$S I #4-$D ?56,8-$ $%'9 / 3'K 2F GetResultsG/F D 1 D +$MN$,H $#.

    function GetResults(Query) { DoCallback("query="+Query); } 

     #S 2F ApLn  ,itextboxz6'K456,8-$ 23 WG`'3 G`search.php2FS'?-,H Wh6SM3 S,F S'X6$ U(TSM  ̀D 1. query _-MK  _-MK  MX?[9spaceE L8fK  hi  a$4[LR E 6 A%#  ,3 2DQF  ,i  % W4-$ G`

    SM  ̀D 1 E n  MX?[9 ]6'?+  a$ D q?N'-.

    $results["http://www.cats.com"] = array("cat", "cats", "kitten", "kittens", "pet", "pets");$results["http://www.google.com"] = array("search", "search engine", "google");$results["http://www.mtv.com"] = array("music", "tv", "music charts"); 

     ,e$query2?`$S 'i 4F$,3  #S SM9M1 &'DQF  a$ A$ 2XL?+  MX?[923 "$% ;

  • 8/17/2019 Ajax All About - arabic

    17/60

     

    1()^ ,Z)M9

     'D` 23 2R'>1 g6$  #S3 a$ S'f?-$ A$,3 D QD)  %#  AjaxSM(m3 A$,3 *S$S ;'Z+ ;'??6'- I% AG/1SM-. N 23 #'3  % 4L/1$  ,Lr+ D8 :'(1 2F GL`'3 2?`$S  ,O' a$ 2+Mqn  % 'XF 28/6$ #'3#S A,Le  hLDoK  #S W#%,-

    S'f?-$ ;'??6'- I% A%#  ,3 B89$G+#$G+ D Z>+ WGL/F.

    #'3#S  ,?ZL3 'K GLQ6'1  ,e$ AjaxWGL+$G3A'i V' 8 1 A'i GF 2DiMY 23 $# 2R'>1 g6$  #S G` 2?fet1'F LR  % S,F 20R'x1D -#,3  pL+ $#  ,6a A'i E /GL6'D+:

    /ajax_tutorial/ajax/com.dhtmlnirvana://http

    ajax-scripting-remote/rticlea/com.sitepoint.www://http29% programming28%Ajax_ /wiki/org.wikipedia.en://http

  • 8/17/2019 Ajax All About - arabic

    18/60

    !" #%') *+-./0 12 $1.3&:45 6" 8&9:&+-./0 

    64;="4>Ajax ?@A?B ! .C #1  a$ -

    SM` t6G(K ;'-

  • 8/17/2019 Ajax All About - arabic

    19/60

    A'i 21'+,3  #S SM9M1 26'\ A'i A"MRM/8K Ajax a$ G/K#'():

    •HTML % I% A'i  *,H g?N'-  #Mr/1 23 2F ?-$ 21'+,3  #S S'f?-$ S#M1 A'i GQLH D 6'-'/`S'f4-$ G`.

    •2?[i A'iGF 2F 456,8-$ $%'9 A'iGFA'i 21'+,3 D 6$,9$ AjaxA#$,T,3 tLm[K  #S  % G/?[i #%,- 4D- A'i 21'+,3 '3  P'(K#$G//F D 1 E DF.

    •DHTML'6HTMLD 1 E DF 'D` 23 E L1'/6$S$# ;'?6'i  *,H E L1'/6$S MY 23 'K G/Fupdate

    GL6'D+. a$ 'D`divWspan ,6'-  % R$A'm+'DHTMLG/- A#$de 41U)  #Mr/1 23 E L1'/6$SHTML GL/F D 1 S'f?-$ ;'K.•DOM'6Document Object Model ( a$456,8-$ $%'9 GF ' 6,O( #'?N'- '3  #'F  #Mr/1 23HTML

     % 'D`)S#$M1 D9 03  #S) XMLS,Le D 1  #$,T S'f?-$ S#M1  #%,- 4D-  a$ D ?Ze,3.

    AG/3  hL[>K $# 'm/6$ GL6'L3 %  hL/FG//F D 1  #'F 2n  *$GF,i  hL/L(3.'m+

  • 8/17/2019 Ajax All About - arabic

    20/60

    $%'9 GF 23 $# D 6'i S$S  #%,- B5-'D` 456,8-$)4-$  *,H I% gLZ+'9 ;'/~Di 2F(D 1 B\G?-,H.D 1  hLDoK 456,8-$ $%'9 GFG/F 2n 'i S$S ;3 WGL?H,e Ajax

    4[LR  #S 2~+H ;M/F$ A$,3.V'>?+$ 23 % %,` 'D  ̀28L+'1aXML$%'9 GF gL3 '1 *,H  % S,F  #%,-  % 456,8-$HTML$# #S #'3%S WG6S$S  ,LLcKDOMG6M` D 1 ' LD). *'X+$ ;M/F$ A$,3 ,• J 1 A'i 4H,ZL\ D9 03 Ajax;%G3DOM 1G6#$dq3  #'/F $# ;

  • 8/17/2019 Ajax All About - arabic

    21/60

     

    ;:  #SMSXMLD +"#% 2n 28/6$ 23 2?[3 WA%#  ,3 456,8-$ $%'9 A"MRM/8K  a$IEG` uo+

    &%'f?1 ;"#%  %S W4-$GL[6M/3 GF  %#  %S  ,i V,?/F A$,3 G6#M(X1 'D  ̀g6$,3'/3 WS#$S. as GF ;G6S A$,3 * F L` E 6 S'X6$ 4m9XMLHttpRequest A%#  ,34[LR W4H'-%,86'1 A'i,e#%,13GL/L(3 $# .

     #';M3.N;K O

  • 8/17/2019 Ajax All About - arabic

    22/60

    F L` E 6  ,K S'- D QLN D `%# 23 GF  _N g6$XMLHttpRequest A'i,e#%,1  #S $#MozillaWBF'H,6'H WSafariWOperaD ?H'-%,86'1  ,L ( A'i,e#%,1 2Di '(6,>K  %2F AjaxD 1 D +'(L?Z\ D `%# '6  *,H  ,i 23 $#

    Sa'- D 1 WG//F.

    UEH'\B ?* ()#/)z#"'

    4-$ 'i,e#%,1 2Di  a$ D +'(L?Z\ W|Gi.2nA$,3  _>H 2F G[6M/3 A$ 21'+,3 SM` D 1  , *': D [FIE #'F

    21'+,3 '6 G/FGLi$MN D 1 'D` '6H 2F A$2+ 2F 2?(R$ lGL[6M/3  #'3  %S $# ;'K 21'+,3!'(L?Z\ 'D` GF g6$,3'/3 a$ D +IED ?H'-%,86'1  ,L ( A'i,e#%,1  %G/F D 1 uLF,K $#.4[LR44m9  *as GF WGiS D 1 ;'Z+ $#  #'F g6$  *'X+$.

     #';M4.N;K O

  • 8/17/2019 Ajax All About - arabic

    23/60

    D 1  #$,T,3  P'(K#$  #%,-  #S SM9M1 I% 21'+,3 '3 2F 4-$ *,H 28/6$ A'9 23 WG/FHTML;

  • 8/17/2019 Ajax All About - arabic

    24/60

    4-$  a'L+$# A#'F 2n G+$G3 2F GLiS a'9$  #%,- 23 2F GLiS ;'Z+ tD0R$ B8) GL+$M?3 'D  ̀'K GiS  *'X+$. a$S,\  #%,- 28L1'q/i W4R': g6$  #S&'N G?1 E 6 WS,F  *'DK $# 'D  ̀4-$MN#S-- *'+ 23

    updatePage()--Gi$MN V'0HG`.

    G?1 W;'6'\  #Ssend() '3 #$G>1null4-$ G` D +$MN$,H. +1 ,3$,34SM  ̀.•2oLoN  #S $# SMN , -'\  #%,-xmlHttp.responseText S$S Gi$MN  #$,T.

     

    D R%$-- 0 * %D eS'11  #S $# S#$M1 A,[86 G6'3 'D`  %.(2F  *%S S#M1$ ;'-1 !'-$  ,3 G+$MK5G6'D+ D +$MN$,H .

     #';M6.T(.U .5 1.-1!4(

    function updatePage() {if (xmlHttp.readyState == 4) {

    var response = xmlHttp.responseText;document.getElementById("zipCode").value = response;

    }}

    '6 t8Z1 D QLN GF g6$ 2F GL/L3 D 1 #'3%S4[L+ GL~L\.4L0 * % E 6 '3  #%,- 'K G/F D 1  ,(Y G?1 g6$ % G/F D +$MN$,H $# ;1 G/+$MK D 1 ;$,3#'FG//F D [6. #'F g6$4-$ AGD) tLRS  %S 23:g6$  #S  pLn 2Di 28/6$ A$,3

    ;'Z+ 'D` 23  % G`'3  ,K S'- V' 8 12F G/`'3  #S'T ;$,3#'F 2F GLi$MN D 1 'D` &'T%$ D9 03 2F  hLiS

  • 8/17/2019 Ajax All About - arabic

    25/60

     

    D 1  #%,- 2F $# 2~+1  ,3#'F E 6 28L+'1a hi  %  ,m` GQLH  hi A$,3 G6G9 /F D 1 S#$% ;'?-$G?1 WGcallServer()Aa'3  % G` D +$MN$,H Ajax

    SM` D 1 % %,`.4-$ gLDi G6$ .4-$ IMN lG6#$S V,?/F  pLn 2Di A%#  ,3 2F GL/F D 1 !'[:$! 

    K,F)n (!

     

    2F GL?[L+ S'1

  • 8/17/2019 Ajax All About - arabic

    26/60

    •If you're curious about where the term Ajax came from, check outJesse James Garrettlike(and his excellent articlesthis one.on Ajax)

    • You can get a head start on the next article in this series, focusing on theXMLHttpRequest object, by checking out this

    •excellent article on the XMLHttpRequest object.

    •If you use Internet Explorer, you can get the scoop at theMicrosoft Developer Network'sXML Developer Center.

    •Build dynamic Java applications: Ajax for Java developersdeveloperWorks, September(2005) introduces a groundbreaking approach to creating dynamic Web application

    experiences that solve the page-reload dilemma.

    • jaxJava object serialization for A : Ajax for Java developersdeveloperWorks, October(2005) shows you five ways to serialize data in Ajax applications.

    •Using Ajax with PHP and Sajaxfor thoseis a tutorial)2005developerWorks, October(interested in developing rich Web applications that dynamically update content using

     Ajax and PHP.

    •ices clientBuild the Web serv:1Call SOAP Web services with AJAX, Part(developerWorks, October 2005) shows how to implement a Web browser-based SOAP

    Web services client using the Ajax design pattern.

    •Beyond the DOM:XML Mattersdetails the Document Object)2005developerWorks, May(Model as a method to build dynamic Web applications.

    •Build apps with Asynchronous JavaScript with XML, or AJAXorks, NovemberdeveloperW(2005) demonstrates how to construct real-time-validation-enabled Web applications with

     AJAX.

    • Ajax with Direct Web Remoting: Ajax for Java developerss, NovemberdeveloperWork (2005) demonstrates how to automate the heavy-lifting of AJAX.

    •The OSA Foundation has a wiki thatJavaScript libraries /surveys AJAX.

    •XUL Planet'sobject reference sectionnot to mention all kinds of(details XMLHttpRequestother XML objects, as well as DOM, CSS, HTML, Web Service, and Windows and

    Navigation objects.

    •ce You can read a nistrategy white paper.detailing some of the basic Ajax principles 

    •See one of the outstanding Ajax applications online atcom.Flickr.

    •GMail., from Google, is another great example of Ajax revolutionizing Web applications 

    •Head Rush Ajaxtakes the ideas outlined in this)2006February,.O'Reilly Media, Inc(article and series and brings them (and a lot more) to you in the innovative and award-

    winning Head First format.

    •e GuideThe Definitiv:JavaScriptis a)2001, November.O'Reilly Media, Inc(th Edition4,great resource for the JavaScript language and working with dynamic Web pages.

    •The developerWorksWeb Architecture zone-n articles covering various Webspecializes ibased solutions.

    A?XZ=

  • 8/17/2019 Ajax All About - arabic

    27/60

    •Participate in the discussion forum. 

    •NET Professional. Ajax.s Ajaxis a great blog for all thing 

    •Get involved in the developerWorks community by participating indeveloperWorks blogs.

  • 8/17/2019 Ajax All About - arabic

    28/60

     

    91GX/e D D+ 2RM>1 g C$  #S ;

  • 8/17/2019 Ajax All About - arabic

    29/60

    A"MRM/8K E DF  a$ A$ 2+MD+ S#$M1 g C$ 89$G`'3 D 1 D ?+,?/ C$ 'XK 23 B.4 C'- 20-MK '3 GL+$MK D 1 'D`g C$  a$ S'f?-$  % SMNt CG(K A,?Z1 23 G/ C 

  • 8/17/2019 Ajax All About - arabic

    30/60

     

    Callout

    S#$S  ,•M1 D R% S'- S,3#'F EC 3 K g C$.2F MY g C$ 233 K  ,i 23 ;G` tY% '3HTMLD 1 7 )'32F SM`3 K A%# ;S,F E LQF '3HTMLEC  ,r+ S#M1;MR'3popupSM  ̀S$S b C'D+ $MkRS g?1 '3.

     

    HTML Content Replace

    g C$TagEC A$M?J1Content Area3 K G/+'DiDIVEC ;S,F E LQF '3 $# ,L ( ' Clink' Cimage ,i ' C3 K htmlGiGL1  ,LLcK A,q CS.

    O;^- W" _`)

    Error!

     

    O;^- W" 9]5

    Error!

     

  • 8/17/2019 Ajax All About - arabic

    31/60

     

    Portlet

    E 6  hi g C$ uNTagA$,3Portal developer'i.g C$Tag2F S#%

  • 8/17/2019 Ajax All About - arabic

    32/60

     

    W" 9]5D.aX@"

     

    Tab Panel

    b C'D+ A$,3 D qK  hi g C$Tab PanelA'iD [F'9

  • 8/17/2019 Ajax All About - arabic

    33/60

    O;^- W" _`)

     

    O;^- W" 9]5

     

    Update Field

    g C$Tag #$G>1 23 29MK '3 $# GQLH G/n ' C EC  , CS'>1GiS D 1  ,LLcK  ,q CS GQLH 2 C  #S G` S#$%.

    1"9:& L24- 21"! W" _`)

     

    O;^- ! 1"9:& L24- 21"! W" 9]58%-2 L24-Calculate

  • 8/17/2019 Ajax All About - arabic

    34/60

     

    W" \2.ZX(" 6.%QC"1AjaxTagLib

    1.% %,` A$,3ajaxtags.jar ,L[1  #S $#WEB_INF/libD 5FGL C'D+2.j C ,0K t C'Htaglib;'Di ' Cajaxtags.tldMY 23 $# #S  , C aweb.xmlGL/F D H,01.A$,3  #'F g C$

    A'i,3#'FJSP 2.0D 1$pR$4[L+.

    http://ajaxtags.org/tags/ajax /WEB_INF/ajaxtags.tld 

    1.A'i t C'HJavaScriptg C$ '3 $,Di 2F  a'L+S#M1framework23 $# SM` D 1 SMQ+$Sweb applicationSMNGL/F 2H' *$ .

    •  Prototype 1.4.0 : Prototype 1.4.0.js • 

    Scriptaculous .1.5.1: scriptaculous.js, builder.js, controls.js, dragdrop.js, effects.js,

    slider.js •  OverLIBMWS (Optional, for ajax: callout only): overlibmws.js 

    S # ,x1 S#$M1  a$ 'i 45 C ,8-$ $%'9  a$ 2)MDX1 g C$2/L1a  #E L/8K  a$ S'f?-$ Ajax4F,`  _-MK 2F 4-$ #S  % 2?H' C 20-MK jQ?k1 A'i4-$ G` S'f?-$ 'm+

  • 8/17/2019 Ajax All About - arabic

    35/60

    G`'3 D 1  , C a MY 23 G` GLRMK D 9%,N.

     

    ExpeditionFord

    FocusFord

    ...

     

     a$ A$ 2+MD+Response41,H 23XML

     

    Record 11

    Record 22

    Record 33

     a$ A$ 2+MD+Response41,H 23text

    Record 1,1Record 2,2

    Record 3,3

    _ L24- \2.&0JSP

    1. 01;S,F D H,taglib2JfY  #S2.23  a'L+ S#M1 45 C ,8-$ $%'9 A'i t C'H ;S,F 2H' *$2JfY3.A'i t C'H ;S,F 2H' *$style2JfY 23  a'L+ S#M14.2JfY  a'L+ S#M1 A'i GF g?`M+5.23  a'L+ S#M1 A'i 3 K BF'9

  • 8/17/2019 Ajax All About - arabic

    36/60

    AJAX JSP Tag Library

    Make:

    Select make

    ${make}

    Model:

    Select model

     

    21'+,3 D QY$ t C'H 23  hL-,L1 s': WIMN23 ;S$S , -'\  % D eGL-# 2fL 4 % 2FRequestS#$S Gm)  ,3 $# 'i.g CG3D )$p?+$ !UF EC  a$ G C'3 ;$,3#'F  #Mr/1(abstract)L #%  h6,H g C$  #S 2F 3 G` G+'X/e *'+ 2

    BaseAjaxServlet  %;$,3#'Fstrust a$BaseAjaxAction Q #$G?1  % S,F A,3getXmlContent(HttpServletRequest, HttpServletResponse) Aa'- S'L\ $# ;

  • 8/17/2019 Ajax All About - arabic

    37/60

     

     AjaxACa#3  AO(6 bOphpJME  K$%c2(% Ajax 

    7 :'(1  MK @$Mk3 2e$ $a%# g6$web application 2DQE G6'3 @#$d3 !UE Ajax 'K  hL/E ;MD+M3a S#%  hi  %#;MD+'LH$,O$2+MDLR': .{$pLn 26 2E g+%G3 tT$G:.

     .H,01 uQx1 g6$ ;'L3  a$ |Gi AjaxAc 7 1 $a%# g6$ 2E SM3 %# @S'6a ;$#$GH$,O 2q6S @'i @"MRM/7K .QLN

    Id9S,E SMN.g6$ s': AjaxAc l4[i .n

      AjaxAc y#%  h6,H C6'3 2E b?[i g?1  a'3php20-MK  % S'X6$ @$,3  % G` 2?`M+ Ajax 

     Applications0:% ;(  %&

  • 8/17/2019 Ajax All About - arabic

    38/60

     

    !IOIde%P`92  Ajax 

    V()H':(&3#$  #9) >%&$%0 !" &"@:% AB)  C  *B%)0  #5D  *$F  G*-H2" I: JB43 Ajax  ;( 157K *++C .;LN$*3*OHN( Ajax;+P  Q&C%)   @)  ;*W  X:#N( : &"Q45B#Z  @)   4.!( AB[3\  S&"$  ^4$#( S&"#_3%&ab)   : cF&O( Ajax1R) 

     

    'ia%# g6$ 2E G6#$S  ,(N G3s WGL?[i I% B6M+ 21'+,3  ,e$#'3#S 2Di Ajax .1 4(JYG//E.. 9 03G+G>?01 Ajax$  a$ .7623 2E 4-$ @G6G9 " M1 ./H ;'E#Web 2.04-$ G` |%,01. a$ . 9 0346'-@'i hi teMe  %  Mi'6 G/+'1 6 #p3;M/E$ Ajax2?H,e 41GN 23 $#gDX+$ WG+$ % 'i;M(6,K MQD1 g6U+1  a$ Ajax;'1pDi  % 4-$UK@#%'/H g6$ 'K 4-$ ;'6,9  #S .0L-% @'i 9.T'3 ! #M- g\$ MY 23 ;'/~Di G6GSMZ+ @#'oJ+$  % G+'D3.

     Ajax 568:;"$% Ajax  A fQK '3'61  pL+ .[6M+46'-  % G+$.H%,01 @'iG/+'1

    O' Reilly %xml.comG+#$S uQx1 #'3 g6$  #S  pL+.

    4LH, 4 g6$,3'/3@$ t6G(K @$,3 .6s'3S#$S SM9% .+'m9 S#$G+'?-$ C6 23 B79. #S 4-$  #$,T  %# g6$  a$, 6#'K 1  #'/LD- ! #'1  hiSpL-2/L1a  #S .Dm Ajax #$pe,3SM`.46'- 23 ;s$ gLDi  ,e$com.ajaxseminar

    29M?1 WGL/E 209$,1.121'+,3 g6G/n WCL/7K g6$ #$,O  ,3 %U) 2E G6M`4E,  ̀ a$ ; N'` B6M+@'i.e#p34`$S G/i$MN 4E,` ;1 WI% 2JfY C6 tE SGX1 @#$de#'3 23  a'L+  *G) tLRSS$S *as 2E .6'iC6 tLD7K @$,3 4-$Interactionbi'E &G` 23 WSM` 2RS'(1 46'-  %  ,3#'E ;'L1

    .1G3'6 1 b6$pH$ ./01 23 g6$  % *,+ 4),- ! M[J23 4RMm- WI% 4JK @'i#$pH$@,Le#'EBLH,?/6$@'i 

  • 8/17/2019 Ajax All About - arabic

    39/60

    @$  ,3 ./?(1;+$ SMN 23MS%#..1 w'fK$ .x6$,`  #S VMJK g6$G?H$

    @#%'/H ;'1pDi 2E;M~Di 4),-,\ 4+,?/6$ @'i ADSLG/?[i G`# V':  #S &G` 23.

    @$ @#%'/H  ,e$ GL/E  #MoK V':!'L>1  #S B79S,?[e *,+ S'f?-$ S#M1 @$S,Le#$,T I% 4JK @'i#$pH$.'3  #'E 4),- b6$pH$ 'q+

  • 8/17/2019 Ajax All About - arabic

    40/60

     

    [email protected] Atlas 

    21G>1  ASP.NET Atlas2+'k3'?F 4D-  #S  hi  %  #%,- 4D-  #S  hi W#'3,\ A$ Client21'+,3 Aa'- S'L\ A$,3 

    A'/(1  ,3  A'i AJAX4-$ .BQO$ &'+'81$ 23 4([+ D 1MD) G CS EC 2R'>1 g C$) Atlas(Gi$MN 'D  ̀23S$S.'L[3 2+'k3'?F EC BQO$ ;MnG/8L1 D H,01 $# BQO$  hm1  #'L[3 ;'81$  %S 2R'>1 g C$ 4-$ S,?[e  #: 

    1. EC ;S,F $GY ;'81$ web service4D-  #S 45 C ,8-$ EC 'C ,O  a$ Client 2.  a$  S'f?-$ 4RMm-  javaScriptG+MZL1 $,9$ I% A'i,e#%,1  *'DK  #S 2F DC'i.

     2/L1a bL\ 

     F A$,3 #$MDi I% 'C ,O  a$ D `'>+4-$ SM3 uR'9 g1 2QD9  a$ W;$,3#'.2F GiGL1 a'9$  ,3#'F 23 21'+,3 g C$I% A'i,e#%,1  #S 2?(R$ G/F D `'>+ 2JfY A%# ! M1 E DF  '3.4 C'-  #S 21'+,3 g C$ 2+MD+JavaScript

    DrawA%,3  'm/K D R% 4-$  SM9M1 a FirefoxMozill4-$  $,9$ t3'T .A"MRM/8K  '3 t CG GF D R% AtlasS#$G+ A,e#%,1 0 Li A%# D ? CS%GJ1. 

    uo+ Atlas ;M/F$  hi)2R'>1 g C$ g?`M+ ;'1a( ,(1'-S '1 2k[+ GL+$M?L1 'D` Atlas a$ $# 'X/ C$G C #$S,3 .g C$  ,e$E /LR 

    4 C'- I%  a$ GL+$M?L1  W4`$G+  SM9% AtlasG C #$S,3  $# 4-#S E /LR .2+'k3'?F AtlasG+M[\  '3 t C'H .vsi)4Q5DK Visual Studio 2005(4-$ SM9M1.SMN 'q?-S  #S t C'H A%# 2F 4-$ D H'F)2F Visual Studio2005G C$ S,F uo+ ;

  • 8/17/2019 Ajax All About - arabic

    41/60

    4D[T  #SLocation4R':  %S File System' C HTTP4-$ I'k?+$ t3'T .I'k?+$  '3HTTPI% GL+$M?L1 W A%# $# SMN 4 C'-IIS SeverG C a'[3 .I'k?+$ '3  %File SystemD QJ1  h?[L- t C'H I%# 'D` 4 C'- I% SMZL1 2?N'-)23  a'L+ ;%G3IIS.(S'f?-$ GL+$M?L1 $# 'm3'k?+$  a$  *$GF  ,i 'D`GL/F.G-,L1  ,r+ 23 D R%

     '3 21'+,3 2FIEA%# IISG/8L1  #'F  ,?m3 . 

    BQO$ "%,\  #'?N'- 

    S#$S A#'?N'- gL/n WG` 2?N'- a'K BQO$ 4 C'- I%: 

    • App_Data

    S$S A'mQ C'H g?`$de A$,3 D R'N  #GRMH EC 

    •Bin

     2F A#GRMHdll4-$ ;

  • 8/17/2019 Ajax All About - arabic

    42/60

    GZ83  _N W! M1 zn GLQF ;S,ZH '3 2JfY A%# 4-$  #S'T  ,3#'F 21'+,3 g C$ '3. #'F 2F D +'1a! M1 GLQF  ,3G-,L1 'm?+$ 23  _N ;GLZF WS,(L1 2JfY  a$ ;%,L3 23 $# ! M1 ' C G/8L1 'i# $#. _N ;GLZF A$,3 A,q CS $#

       a$  S'f?-$  '3JavaScript %  VML a$  '1  D R%  S#$S  SM9%  VML hL/8LD+  S'f?-$ . 2JfYDefaultB8) EC )B8) % M+  a$HTMLA –3 K IMG(4`$S Gi$MN. 1 A'iS$G C %#A%#  ,3 ! M

      _-MK WB8)JavaScriptSMZL1 2?H,e .JavaScript2x>+ A,- EC )2x>+4F,:  ,L[1  #S 2F A'i G/?[i ! M1(23 $#web serviceG?-,fL1 .Web serviceB8) 2x>+  *'DK gL3 DC'mxN ;GLZF '3 $# 

     #S  $,+

  • 8/17/2019 Ajax All About - arabic

    43/60

      {g.FillRectangle(new SolidBrush(Color.White),

    new Rectangle(0, 0, bmp.Width, bmp.Height));g.Flush();

    }Session["Image"] = bmp;

    }

    4.B8) EC GF g C$)bitmap(200 #S 20023 A,Lc?1 ;%#S $,+H  % 4[L+ BLH,?/ C$.g C$ 23 G/8L1 j C ,0K $# !UF 2F D xNGLiS  ,LLcK t8`: 

    public class ScribbleImage : IHttpHandler, 

    System.Web.SessionState.IRequiresSessionState 

    4.23 $# GF g C$ V':ProcessRequest' *$ GL/F 2H:

     

    public void ProcessRequest (HttpContext context)

    context.Response.ContentType = "image/png"; 

    context.Response.Cache.SetNoStore(); 

  • 8/17/2019 Ajax All About - arabic

    44/60

      context.Response.Cache.SetCacheability(HttpCacheability.NoCache); 

    context.Response.Cache.SetExpires(DateTime.Now); 

    context.Response.Cache.SetValidUntilExpires(false); 

    System.Drawing.Bitmap bmp = 

    (System.Drawing.Bitmap)context.Session["Image"]; 

    lock(bmp) 

    using (MemoryStream ms = new MemoryStream()) 

    bmp.Save(ms, ImageFormat.Png); 

    ms.Flush(); 

    context.Response.BinaryWrite(ms.GetBuffer()); 

    · W4[k+  _NContentType ,3$,3  $# image/pngGiGL1  #$,T .2F SMZL1 7 )'3  #'F g C$D ?H' C #S I$M9 I%  ,e#%,1Mo3 $#  #%,-  a$ pngG-'/Z3 )A'X3HTML.(

    · 2F GiGL1  ,FdK I%  ,e#%,1 23 AG03  _N  #'mnresponseG C'(+ $# CacheG/F . #'mn  ,iG/8L1 tD) 'i,e#%,1 %$M+$ A%# GF g C$  h C M` g > Dx1 'K SM` 2?`M+ G C'3  _N. 

    · tN$S B8) 4 C'm+  #SSession2rH': EC tN$S  #S )memeory stream( % S,LqL1  #$,T

     A%# 2rH': A$M?J1responseSMZL1 2?`M+ .G?1BinaryWriteS'f?-$  #'8/ C$ A$,3  $# 4-$ A,/ C'3 S$S EC WB8) 2F $,n   hL/8L1. 

    ScribbleServic.asmx 

  • 8/17/2019 Ajax All About - arabic

    45/60

     

     #S B8) 2LR%$ S'X C$ A$,3 A#$p3$ '1 V':sessiont8` 23 ; Dx1Place Code in a

    Separate File4-$ V'0H  ,L ( $# . 

    3. GL/F 2H' *$ GF 23 $#  , C a  _N : 

    Using System.Drawing; 

    4. !UF EC  G C'3 AG03  *GT  #S A$,3 point hL/F j C ,0K . a$  hL+$M?LD+ 2F  GL/F 29MKSystem.Drawing.Point!UF g C$  #' C a  hL/F S'f?-$ XML serializable4[L+ . , C a GF

     !UF j C ,0K 4D[T  a$ t(T 4-#S $#ScribbleServiceG C #$dq3 . 

    public class Point 

    public int X; 

    public int Y; 

    };

    5. G/F D `'>+ WP'>+  a$ A$ 2)MDX1  a$ S'f?-$ '3 2F  hL[ C M/3 AG?1 G C'3 W4 C'm+  #S .I% G?1Draw23  #Mr/1 gLDi 23 web service hL/8L1 2H' *$ . 

    [WebMethod(EnableSession = true)] 

    public void Draw(Point[] points) 

    Image scribbleImage = (Image)Session["Image"]; 

    lock(scribbleImage) 

  • 8/17/2019 Ajax All About - arabic

    46/60

      using (Graphics g = Graphics.FromImage(scribbleImage)) 

    using(Pen p = new Pen(Color.Black, 2)) 

    if (points.Length > 1) 

    int startX = points[0].X; 

    int startY = points[0].Y; 

    for (long i = 1; i < points.Length; i++) 

    g.DrawLine(p, startX, startY, 

    points[i].X, points[i].Y); 

    startX = points[i].X; 

    startY = points[i].Y; 

    · WebMethod(EnableSession = true )A'i,Lc?1 23 D -,?-S ;'81$ session$# 23web serviceGiGL1 .

    ·  + bL\ ;'1pDi S'f?-$ &U8Z1 'K G C + ;S,F tY%  *as  #'F 'm/K4-$. 

    Scribble.js 

     hL?`M+  W4-$  #%,- 4D- A$,3 2F DC'iGF  *'DK.4D-  #S D ?5 C ,8-$ 23 43M+ V':client23  % 2?H,e ! M1 S$G C %#  a$ $#  P'>+ 2F  h C #$Sweb serviceGiS t C MJK . 

    1.  #Ssolution explorer #GRMH WScriptLibraryGL/F I'k?+$ $# . 

    2. AM/1  #S WebSiteA%#  Add New Item' C  % GL/F E LQF Ctrl + Shift + AG C #'Zf3 $# . 

  • 8/17/2019 Ajax All About - arabic

    47/60

     

    3. ,X/\  #S  Add New ItemWJscript File$#  *'+  % I'k?+$ $# Scribble.js % S,F gLL0K Ok$# G C #'Zf3.'3t C'H  #'8/ C$Scribble.js #GRMH ;%#S $# ScriptLibraryG CS$S  #$,T . 

    4.  hL/F j C ,0K D 1MD)  ,Lc?1 G/n G C'3 AG03  *GT  #S . 

    //The HTML image element that is to be drawn 

    var image; 

    //The source of the image 

    var originalSrc; 

    //The number of iteration 

    var iter = 0; 

    //The array of points 

    var points = null; 

    GiGL1 ^L * MK  $#  *$GF  ,i |Gi  W,Lc?1 j C ,0K  ,i As'3 &'JL * MK. ,Lc?1iter/ (/1  ,LLcK A$,3 4-$  #%,-  a$ 4-$MN#S  #'3  ,i  a$ G03 WB8). ,e#%,1 A$,3IEW image.src = image.srcB8) 

     #S GF gLDi D R% G+'-,L1  a%,3 $#FirefoxG/8LD+  #'F . ,Lc?1 '1 t8Z1 g C$ t: A$,3iterj C ,0K $#  hL/8L1 2H' *$ ;1 23 D 8 C W#%,- 23 4/ CUF 4-$MN#S  ,i  a$ G03  %.23SG) g C$ ;S,F 2H' *$ '3

      ,Lc?1originalSrcB8) A'X3 W$# G CG9 &')UO$ G C'3  #'3  ,i 2F G/8L1  ,8H  ,e#%,1 WCache a$ G` S,Lq3  #%,-. 

    5.  C  *'+ 23 g/Z8+'H EstartStrokeS$G C %# ;'1a  #S 'K   hL/8L1 j C ,0K mousedownSM` $,9$ . 

    function startStroke() 

    points = new Array(); 

    window.event.returnValue = false; 

    G/8L1 D `'>+ 23 % %,`  ,3#'F D ?T%. h C a'[L1  P'>+  a$ 2)MDX1 EC '1)V%$  _N.(tD)  *%S  _N? ,H bL\G/8L1 tO'3 $# S$G C %#.S$G C %# ? ,H bL\ $, C a 4-$  *as  #'F g C$ mousedown tD) % %,  ̀WB8) EC A$,3 

    Drag & Drop 4-$  ,q CS A'iS$G C %# ;G1+ tD) D ?T%mouseupS$G C %# ' CmouseoutG?1 G C'(L1 WSMZL1  *'DK webservice #  hL/F $GY $.gZ8+'H '3 &'LQD) g C$endStrokeSMZL1  *'X+$ . 

  • 8/17/2019 Ajax All About - arabic

    48/60

    function endStroke() 

    if (!points || points.length < 2) 

    return true; 

    //Send the points to the webservice 

    ScribbleService.Draw( 

    points,onWebMethodComplete,onWebMethodTimeout,onWebMethodError); 

    points = null; 

    window.event.returnValue = false; 

    }

     _N GF g C$ uR'9 4D[T

     ScribbleService.Draw( 

    points, onWebMethodComplete, onWebMethodTimeout, onWebMethodError);

    G?1 2F 4-$Draw a$ webserviceG+pL1 $GY ;'1pDi,L ( Mo3 $# .$ _-MK E LK'1MK$ Mo3 gZ8+'H g C4-$ ! ,?-S t3'T BQO$  _LJ1.

    7.onWebMethodError #S  t8Z1 ;G1

  • 8/17/2019 Ajax All About - arabic

    49/60

     

    8.G?1onWebMehtodComplete2F SMZL1 Sa  $GY D +'1a ;Sa  $GY web method *'X+$ 4L>HM1  '3 G C , Cd\.#'3%S G C'3 B8) 2Q:,1 g C$  #SloadSM` .

     

    function onWebMethodComplete(result, response, context) 

    //We need to refresh the image 

    var shimImage = new Image(200, 200); 

    shimImage.src = originalSrc + "?" + iter++; 

    shimImage.onload = function() 

    image.src = shimImage.src; 

     ,Lc?1 EC  '1shimImage% M+  a$ Image #$,T  h CGLZF 2F  $# D [8) D QY$ / (/1  $# ;+ 2 C$#

  • 8/17/2019 Ajax All About - arabic

    50/60

      points = new Array();

    points.push(point); 

    window.event.returnValue = false; 

    o 2okZ1  %S  a$ S'f?-$ '3 G CG9 2x>+offsetX % offsetY G` 2?N'-  S$G C %# D `  a$ 2 C$# Dx1  'K

    4-$ G` A#$de#'3 L #%.o;%#S B8) 4/DR$HTML3 K EC ;%#S div;

  • 8/17/2019 Ajax All About - arabic

    51/60

     

    Default.aspx 

     m?/+M51'F2JfY ;%#S G C'3 '1 A'Default.aspxG+,Lq3  #$,T .4-$ t CG # ,` 23 2JfY g C$ GF: 

     

     

     

     

    Atlas Scribble Sample 

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtdhttp://www.w3.org/1999/xhtmlhttp://www.w3.org/1999/xhtmlhttp://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd

  • 8/17/2019 Ajax All About - arabic

    52/60

       

     

     

    A#%,- V,?/F 2JfY g C$ |Gi g C ,?Dm1atlas:ScriptManager4-$ .A#%,- V,?/FScriptManager 23  PM3,1 GF 2+Me  ,i  % BQO$ A$,3 D ?/ CUF 4D- A'iGF S'X C$ V%M[1web service4-$ . hi '3

      #S $# V,?/F g C$  a$ S'f?-$Default.aspx hL/8L1 D -#,3 :

    1. 2okZ1 EnableScriptComponents'3  ,3$,3 falseSMZL1 .A'X3 2F SMZL1 7 )'3#'F g C$ Atlas.js a$  AtlasRuntime.jsSM` S'f?-$ .^L9,K  $# L #%  h C ,H  ,K  #M9  % / D9 2k[+  '1

     h C$ S,8+ BQO$ A'mR,?/F ' C 'm?/+M51'F  a$ A$ S'f?-$ $, C a  hLiGL1. 

    2. EC  '1 serviceReference23 web service N W;'1SMScribbleService.asmx h C$ S$S .g C$  #'FURLg C$ 23 D -,?-S web serviceS#$dqL1 D ?/ CUF A'm?5 C ,8-$ ;%#S $# . 

    3. gL/~Di Scribble.js h C$ S,F D H,01  pL+ $# . 

    G/8L1 '9 EC $# '1 A'i#'F  *'DK 2JfY g C$. (3 'iGF g C$ ;S,F $,9$ '3 $#  #'F 2XL?+ G C'3 SMN V':GL/L. 

    BQO$ A%S'9 

    GiGL1  *'X+$ '1 A$,3 BQO$ 2F DC'i#'F: 

    1.  hL[ C M/3 'i,e#%,1 % M+  a$ D +$,q+ ;%G3 $# D 3% A'i#$pH$  *,+ GiGL1 a'9$ '1 23 BQO$ .$GY ;Saweb service ,e#%,1  %S  ,i A%# 4/ CUF 4D- A'iS$G C %#  a$ S'f?-$  % IE % Firefox

    G/8L1  #'F.MY 23 BQO$A'i D ` A%# $#  *as &'f C ,0K E LK'1MK$Firefox'K GiGL1  *'X+$ A'i D ` 2L(`  'm+

  • 8/17/2019 Ajax All About - arabic

    53/60

    !I9()^ :O3(=  (% fNMTE g3 1$ ,E$9(%: AJAX 3 Atlas 

     a$ D 76A#'D01  a$ ;'+JK  #Mr/14D- A'i  a$S,\

    G/6'D+ S'f?-$ ASG0?1 A'i A#%J1 A'iS$G6%# 46,6G1  #Mr/1 23 2E 4-$4[6'3 D 1 W G+,Le B6%,-S#M1 &'1%pQ1

    A'i  a$S,\ ;'+DNj$@ ,MWk^  K2 !I9()^ :O3(= /-= 1$23 29MK '34[6'3 D 1 I% A'i 21'+,3  #S G+,Le B6%,- 4D- A'i  a$S,\ 2E g6$4Q\ % M+  a$ t>?[1

     pE,D?1 4[6'3 D 1 W 2Y,) g6$  #S G`  *'X+$ A'i UK D 1'DK 2E 4-$ D m6G3 W G/`'3  *,HA%#  ,3 *'X+$ ;'71$ W 'm+

  • 8/17/2019 Ajax All About - arabic

    54/60

      AJAX  K2 ,M6(^ Asynchronous JavaScript and XML 

    Aa'- S'L\G` #'`$ A'i A#%

  • 8/17/2019 Ajax All About - arabic

    55/60

    G`'3 D 1 2JfY C6 A%#  ,3 SM9M1  ,Y'/) '3  _(K,1  %  ,3#'E  _3$# 26s ^x-.

    • (n$NX:G` D `#'f- $'L`$4D-  #S $# A$ 2?H'6 20-MK A'i tL[+'?\ 2E G/`'3 D 1 456,7-$$%'9S'X6$ G+,Le B6%,- /6'D+ D 1G.

    1#3B J6 1$ oF$* AJAX  

    D [6M+ 21'+,3C(- 23 &'JfY AJAX  A$#$S4-$ ASG0?1 A'i bR'n:

    • #S SM9M1  ,Y'/) ,i 2E$,n W G+S,e D [6M+ 21'+,3  ,e#%,1  ,i  _6$,` '3 u-'/?1 4[6'3 D 1 I% &'JfY ,e#%,1 a$ &%'f?1 2k[+ C6DOM %DHTML$#G/6'D+ D 1 2{$#$) fK g6$ G/n  ,iG`'3 yG+$ 'i &%') .

    •21'+,3'H,Y G+,Le B6%,- 4D- D [6M+"SM` D 1  *'X+$ 456,7-$$%'9  a$ S'f?-$ '3.Aa'- S'L\

    A'i tL[+'?\  a$ D N,3 AJAX  D 1 #S D {s'3 b+$S G/1a'L+  % G`'3 GL~L\  #'L[3 ;'eG//E S'L\ A$,3 G+$MK S'f?-$ & MoN4-$ 46,7-$$%'9  a$.

    • 6,7-$ $%'9 % 'i D e 1 6% W 45G6'D+ D D+ gL1'K $# 4+ &$S A'i 21'+,3 ;'eG//E S'L\  a'L+ S#M1 &'+'71$)C6  ,Lr+t1'E $$,e D ` S,76%#. (2~+

  • 8/17/2019 Ajax All About - arabic

    56/60

    A#%

  • 8/17/2019 Ajax All About - arabic

    57/60

    A#%

  • 8/17/2019 Ajax All About - arabic

    58/60

     

     E$9(% c$#2'%2e0OD9 , AJAX  

    7N)F c3$+ $-N2# JO2!#$%#& cINE&D= c$   !&$)dcK$=u_MqE c$   Ajax  ,E$9(% c$#2'%2  3e0OD9 /=2 >B $%  vT@(E.

    w(W:

    .1 2JfY g6$  #SE /LR GL+$MK#'3#S @G/1SM- @'i   S'L\@a'-jQ?k1 @'i   Ajax .[6M+ 21'+,3 @'i#$p3$  % '3 2LR%$ .6'/`1  #S E L/8K g6$ t1'F # ,`  

  • 8/17/2019 Ajax All About - arabic

    59/60

     AjaxAnywhere -! #M- g\$ "%,\ E 6   *,+ $'>K#$ @$,3'3 2F I% 4JK .+M/F @'i#$pH$  JSP G` 2?`M+ `'3G/  

     AjaxTags -@,- E 6 Tag;'q6$# @'i JSP @$ '3  #'F 2F.1 ;'-

  • 8/17/2019 Ajax All About - arabic

    60/60

     

    +P/" e/4& 

    1.

    Ebook : Professional AJAX  

    …............................................... …............................................... …...................

     

    2.

    http://www.codeproject.com/books/AJAXFutureWeb.asp  

    3.

    http://www.ajaxpro.info/Examples/DataType/default.aspx  

    http://www.codeproject.com/books/AJAXFutureWeb.asphttp://www.ajaxpro.info/Examples/DataType/default.aspxhttp://www.ajaxpro.info/Examples/DataType/default.aspxhttp://www.codeproject.com/books/AJAXFutureWeb.asp