<!DOCTYPE HTML> 
<html> 
<!--         AJAX iz PHP-a test 
Kome: [email protected] i [email protected] 
 
http://dev1:8083/01apl/04wish/utl/ajax/r r.php 
http://dev1:8083/01apl/04wish/utl/ajax/AJAX_help.php 
 
http://dev/test/books/ajax/ballard/Ch23/AJAX_help.php 
J:\awww\apl\dev1\01apl\04wish\utl\ajax\AJAX_help.php (2012) 
 
Klijentska skripta poziva serversku (klijent-serversko web pozivanje potprograma) radi : 
u ibrowseru 
pregaziti dio stranice div_srvgen stringom txt_srvgen 
txt_srvgen mo?e biti u 6 oblika: txt / CSV / JSON / html / xml / JS. 
JS mo?e:  
    - pozvati serversku skriptu (php) da stvori txt_srvgen  
    - i ubaciti ga u div (span) element stranice ili u dijalog js alert. 
 
Vrijeme na serveru: 20:30:36 I spisala s kripta: J:\dev_web\htdocs\test\books\ajax\ballard\Ch23\div_ detalj.php 
 
Ispis skripte AJAX_help.php (to isto ispi?e r r.php):  
 
HELP: Ovo je sadr?aj diva "div_srvgen" napunjen asihronim JS http pozivom serverske skripte. 
Korisnik ne ?eka kao kod ibrowserovog sinhronog http requesta. 
Asihroni JS http request je klijent-serversko pozivanje potprograma iz html-a 
tj klient (js) poziva serverski potprogram (php) i prikazuje njegov o utput u div ili span containeru. 
To je klijent-serversko web programiranje.  
 
r r.js = reqest-response proceduralni JS library  
koji sadr?i sve programe za: 
r r.php koji asinhrono poziva ovaj .php ovako: 
1. U r r.php: 
   Za txt u div:  
      value= "?" onClick= 
      "r eqsend('AJAX_help.php','','AJAX_help','get','0')"    
      function AJAX_help(txt_srvgen) { 
        //AJAX_help.php stvori txt_srvgen  
        //get param (u url-u do 255 znakova) 
        //0=txt (1=xml) 
        document.getElementById('div_srvgen').innerHTML = text;  
      } 
   Za JS alert txt-a ili html-a: 
      value= "MSG" onClick= 
        "r eqsend('show_ phpparam.php' 
      ,'param=hello&par2=drugi param','msg','get','0')" 
      function msg(txt_srvgen) {  
document.getElementById('div_srvgen').innerHTML = txt_srvgen;  
        alert(txt_srvgen); // radi: onClick="msg('yyyyyyy')" 
      } 
   Za xml u div: 
       value="PHP XML u div/span" onClick= 
"r eqsend('show_ servertime.php','','servertime_xml','post','1')" 
       function servertime_xml(txt_srvgen) { 
         var timeValue =  
txt_srvgen.getElementsByTagName("timenow")[0].childNodes[0].nodeValue 
document.getElementById('div_srvgen').innerHTML = timeValue; 
       } 
 
2. U r r.js: 
 
// js procedural library: crossbrowser, GET, POST param. php-a 
function crr() {  
// new = create request-response object 
//document.write('1111111 hhhhhhhhhhhh 
') 
//document.writeln('222222222222 sss') 
//alert('1111111'); 
try { 
     req = new XMLHttpRequest(); // e.g. Firefox  
     } catch(err1) { 
       try { 
       req = new ActiveXObject("Msxml2.XMLHTTP"); 
       } catch (err2) { 
         try { 
         req = new ActiveXObject("Microsoft.XMLHTTP"); 
         } catch (err3) { 
          req = false; 
         } 
       } 
     } 
     return req; 
} 
 
function cbc(callfn, txt_srvgen) {  
   //doCallback = ime fn je varijabla 
   eval(callfn + '(txt_srvgen)'); 
} 
 
function reqget(url, query, req) { 
//alert('2222222'); 
  // add random number to URL to avoid IE cache problems 
  myRand=parseInt(Math.random()*99999999); 
  req.open("GET",url+'?'+query+'&rand='+myRand,true); 
//document.writeln('aaaaaa') 
  req.send(null); 
} 
 
function reqpost(url, query, req) { 
  req.open("POST", url,true); 
  req.setRequestHeader('Content-Type',  
      'application/x-www-form-urlencoded'); 
  req.send(query); 
} 
 
function r eqsend(url, query, callfn, reqtype, getxml) { 
   var rrobj = crr(); 
    
   rrobj.onreadystatechange = function() { 
   if(rrobj.readyState == 4) { 
      if(rrobj.status == 200) { 
        document.getElementById('div_srvgen').innerHTML = ''  
//http.responseXML.getElementsByTagName("timenow")[0];  
//document.getElementById('showtime').innerHTML =  
//timeValue.childNodes[0].nodeValue;        
         var txt_srvgen = rrobj.responseText; 
         if(getxml==1) { 
            txt_srvgen = rrobj.responseXML; 
         }  
         cbc(callfn, txt_srvgen); 
       } 
     } else { // nije r ro bj.r eady S tate == 4 
           document.getElementById('div_srvgen').innerHTML =  
             ''  
             + ' rrobj.readyState=' + rrobj.readyState 
             + ' rrobj.status=' + rrobj.status 
             + ' rrobj.statusText=' + rrobj.statusText                           
           ; 
              } 
   } 
    
   if(reqtype=='post') { reqpost(url,query,rrobj); } 
   else { reqget(url,query,rrobj); }   
    
//alert('--r s e n d ( ) kraj'); 
} 
 
????? =ŠĐČĆŽ 
????? =šđčćž 
I spisala s kripta: J:\dev_web\htdocs\test\books\ajax\ballard\Ch23\AJAX_help.php 
 
--> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Untitled Document</title> 
<style> 
.plava {color: #0000FF}  
.plava_bold {color: #0000FF; font-weight: bold; } 
.tzelena_bold {color: darkgreen; font-weight: bold;  
   font:20px 
} 
.bold_darkblue_yellow {color: #0000A0; 
   background-color:#FFFF99; 
   font-weight: bold; 
} 
.bold_violet_white {   color: #800080; 
   font-weight: bold; 
} 
</style> 
 
</head> 
 
<body> 
 
 
<strong> 
 
<span style="?background-color:#cccccc;">Ispisala skripta: <?php echo basename(__FILE__) ; ?></span> 
<br><br> 
HELP:</strong> Ovo je sadr?aj diva  
"div_srvgen" napunjen <strong>asihronim</strong> JS http pozivom serverske skripte.<br /> 
Korisnik ne ?eka kao kod ibrowserovog <strong>sinhronog</strong> http requesta.<br /> 
Asihroni JS http request je <span class="bold_violet_white"> klijent-serversko pozivanje potprograma iz html-a</span><br> 
tj <strong>klient (js) poziva serverski potprogram (php) i prikazuje njegov o utput u div ili span containeru</strong>.<br> 
To je <span class="bold_violet_white">klijent-serversko web programiranje</span>. <br /> 
<br> 
r r.js = reqest-response proceduralni JS library <br> 
koji sadr?i sve programe za:<br> 
r r.php koji asinhrono poziva ovaj .php ovako: 
<pre>1. <strong>U <span class="bold_darkblue_yellow"> </span></strong>: 
   Za txt u div:  
      value= "<span class="plava_bold">?</span>" onClick= 
         <br>"<strong>r eqsend</strong>('AJAX_help.php','','<strong>AJAX_help</strong>','get','0')"    
      function <strong class="tzelena_bold">AJAX_help</strong>(<strong>txt_srvgen</strong>) { 
        //AJAX_help.php stvori txt_srvgen <br>        //get param (u url-u do 255 znakova) 
        //0=txt (1=xml)<br>        document.getElementById('<strong>div_srvgen</strong>').innerHTML = text; <br>      } 
   Za JS alert txt-a ili html-a:<br>      value= "<span class="plava_bold">MSG</span>"  
         onClick= 
            <br> "<strong>r eqsend</strong>('show_ phpparam.php' 
      ,'param=hello&par2=drugi param',<strong>'msg'</strong>,'get','0')"<br>      function <span class="tzelena_bold">msg</span>(<strong>txt_srvgen</strong>) { <br>document.getElementById('div_srvgen').innerHTML = txt_srvgen; <br>        alert(txt_srvgen); // radi: onClick="msg('yyyyyyy')"<br>      }<br>   Za xml u div:<br>       value="<span class="plava_bold">PHP XML u div/span</span>"  
         onClick=<br>"<strong>r eqsend</strong>('show_ servertime.php','','<strong>servertime_xml</strong>','post','1')"<br>       function <span class="tzelena_bold">servertime_xml</span>(txt_srvgen) {<br>         var timeValue = <br>txt_srvgen.getElementsByTagName("timenow")[0].childNodes[0].nodeValue<br>document.getElementById('div_srvgen').innerHTML = timeValue;<br>       } 
 
2. <strong>U <span class="bold_darkblue_yellow">r r.js</span></strong>:<br> 
// js procedural library: crossbrowser, GET, POST param. php-a<br>function <span class="tzelena_bold">crr</span>() { <br>// new = <strong>create request-response object</strong> 
//document.write('1111111 hhhhhhhhhhhh<br />') 
//document.writeln('222222222222 sss') 
//alert('1111111'); 
try { 
     req = new XMLHttpRequest(); // e.g. Firefox  
     } catch(err1) { 
       try { 
       req = new ActiveXObject("Msxml2.XMLHTTP"); 
       } catch (err2) { 
         try { 
         req = new ActiveXObject("Microsoft.XMLHTTP"); 
         } catch (err3) { 
          req = false; 
         } 
       } 
     } 
     return req; 
} 
 
function <span class="tzelena_bold">cbc</span>(callfn, txt_srvgen) { <br>   //<strong>doCallback = ime fn je varijabla</strong> 
   eval(callfn + '(txt_srvgen)'); 
} 
 
function <strong>reqget</strong>(url, query, req) { 
//alert('2222222'); 
  // add random number to URL to avoid IE cache problems 
  myRand=parseInt(Math.random()*99999999); 
  req.open("GET",url+'?'+query+'&rand='+myRand,true); 
//document.writeln('aaaaaa') 
  req.send(null); 
} 
 
function <strong>reqpost</strong>(url, query, req) { 
  req.open("POST", url,true); 
  req.setRequestHeader('Content-Type',  
      'application/x-www-form-urlencoded'); 
  req.send(query); 
} 
 
function <span class="tzelena_bold">reqsend</span>(url, query, callfn, reqtype, getxml) { 
   var rrobj = crr(); 
    
   rrobj.onreadystatechange = function() { 
   if(rrobj.readyState == 4) { 
      if(rrobj.status == 200) { 
        document.getElementById('div_srvgen').innerHTML = ''  
//http.responseXML.getElementsByTagName("timenow")[0];  
//document.getElementById('showtime').innerHTML =  
//timeValue.childNodes[0].nodeValue;        
         var txt_srvgen = rrobj.responseText; 
         if(getxml==1) { 
            txt_srvgen = rrobj.responseXML; 
         }  
         cbc(callfn, txt_srvgen); 
       } 
     } else { // nije r ro bj.r eady S tate == 4 
           document.getElementById('div_srvgen').innerHTML =  
             '<img src="lubanja_srednjak.jpg">'  
             + ' rrobj.readyState=' + rrobj.readyState 
             + ' rrobj.status=' + rrobj.status 
             + ' rrobj.statusText=' + rrobj.statusText                           
           ; 
              } 
   } 
    
   if(reqtype=='post') { reqpost(url,query,rrobj); } 
   else { reqget(url,query,rrobj); }   
    
//alert('--r s e n d ( ) kraj'); 
} 
 
????? =&Scaron;&#272;&#268;&#262;&#381;<br>????? =&scaron;&#273;&#269;&#263;&#382; 
</pre> 
 
</body> 
</html> 
 
 |