Ολο και κάτι έχω πάντα να πω και να γράψω για αυτά που συμβαίνουν στην πραγματική μου ζωή ή στο μυαλό μου.. I always find something to share with you..
Τρίτη 2 Δεκεμβρίου 2008
Ajax εύκολα και γρήγορα [Μέρος 1:Ενημέρωση περιεχομένου]
AJAX = Asynchronous JavaScript And XML ή στα ελληνικά AJAX = Ασύγχρονη JavaScript και XML
Είναι μια τεχνική που χρησιμοποιείται ώστε να στέλνονται HTTP Requests μέσω JavaScript ώστε να είναι διαφανής ο τρόπος με τον οποίο αντλούνται οι πληροφορίες από τον server.
Παράδειγμα χρήσης
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for IE7, Firefox, Mozilla, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE5, IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=onResponse;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function onResponse()
{
if(xmlhttp.readyState!=4) return;
if(xmlhttp.status!=200)
{
alert("Problem retrieving XML data");
return;
}
txt="<table border="'1'">";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{
txt=txt + "<tr>";
xx=x[i].getElementsByTagName("TITLE");
{
try{
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}catch (er){
txt=txt + "<td> </td>";
}
}
xx=x[i].getElementsByTagName("ARTIST");
{
try{
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}catch (er){
txt=txt + "<td> </td>";
}
}
txt=txt + "</tr>";
}
txt=txt + "</table>";
document.getElementById('copy').innerHTML=txt;
}
</script>
</head>
<body>
<div id="copy">
<button onclick="loadXMLDoc('cd.xml')">Get CD info</button>
</div>
</body>
</html>
Όπου το cds.xml θα ειναι ένα αρχείο xml της ακολουθης μορφής
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
Επεξήγηση παραδείγματος
Το συγκεκριμένο παράδειγμα διαβάζει το αρχείο xml και παρουσιάζει τα δεδομένα υπό την μορφή πίνακα, ο οποίος έχει φτιαχτεί με JavaScript. Αυτό το XML θα μπορουσε να δημιουργείται και δυναμικά και να περιέχει ολόκληρη την πληροφορία που χρειάζεται ώστε να ενημερωθεί η οθόνη του χρήστη.
Σημειωση
Στην περίπτωση που σας ενδιαφέρει να μαθεται για το πως να αξιοποιήσετε το Ajax ή να σας γίνει καλύτερα κατανοητό το τι ειναι σας προτείνω να επισκεφτείτε το Coder.gr αλλα και το w3scools.com ή να αφήσετε κάποιο σχολιο ώστε να επεκτείνω την συγκεκριμένη αναρτηση!
Δευτέρα 1 Δεκεμβρίου 2008
Kομπιουτεράς-Mάνατζερ (joke)
Eνας άντρας μέσα σ' ένα αερόστατο συνειδητοποιεί ότι έχει χαθεί. Mειώνει ύψος και βλέπει έναν άντρα στο έδαφος. Kατεβαίνει κι άλλο και φωνάζει: «Συγνώμη, μπορείτε να με βοηθήσετε; Yποσχέθηκα σ' έναν φίλο ότι θα τον συναντούσα εδώ και μια ώρα, αλλά δεν ξέρω πού είμαι».
O άντρας από κάτω του απαντάει: «Eίσαι σ' ένα αερόστατο ζεστού αέρα σε ύψος περίπου δεκαπέντε μέτρων. Bρίσκεσαι στις 38o ανατολικά γεωγραφικό μήκος και στις 23o βόρεια γεωγραφικό πλάτος».
«Mήπως είσαι κομπιουτεράς;» ρωτάει ο αιωρούμενος.
«Nαι, είμαι» λέει εκείνος στο έδαφος, «πώς το κατάλαβες;»
«Kοίτα, ό,τι μου είπες είναι τεχνικά σωστό, αλλά δεν έχω ιδέα τι να κάνω με την πληροφορία που μου έδωσες, και το γεγονός παραμένει ότι είμαι ακόμα χαμένος. Eιλικρινά, δε με βοήθησες και πολύ ως τώρα».
O από κάτω λέει «Eσύ πρέπει να είσαι μάνατζερ».
«Πράγματι. Eσύ πώς το κατάλαβες;»
«Kοίτα, δεν ξέρεις πού είσαι, ούτε πού πας. Eχεις ανέλθει στο ύψος σου χάρη σε μια μεγάλη φούσκα. Eδωσες μια υπόσχεση πού δεν γνωρίζεις πώς να την κρατήσεις, και περιμένεις από τους από κάτω σου να λύσουν τα προβλήματά σου. Tο θέμα είναι ότι βρίσκεσαι ακριβώς στην ίδια κατάσταση όπου βρισκόσουν πριν με ρωτήσεις, αλλά, κατά κάποιο τρόπο, τώρα είναι δικό μου σφάλμα».