AJAX XMLHttpRequest

Το αντικείμενο XMLHttpRequest καθιστά δυνατό το AJAX.

XMLHttpRequest

Το αντικείμενο XMLHttpRequest είναι κρίσιμο για το AJAX.

Το αντικείμενο XMLHttpRequest ήταν διαθέσιμο από την έκδοση 5.5 του Internet Explorer και την εκδοχή 2000 του Ιουλίου 2000, αλλά πριν από το 2005, όταν άρχισαν να συζητούνται το AJAX και το Web 2.0, το αντικείμενο αυτό δεν είχε αποκτήσει επαρκή αναγνώριση.

Δημιουργία αντικειμένου XMLHttpRequest

Διαφορετικοί πλοηγείς χρησιμοποιούν διαφορετικούς τρόπους για να δημιουργήσουν XMLHttpRequest αντικείμενο.

Ο Internet Explorer χρησιμοποιεί ActiveXObject

Άλλες πλοηγούς χρησιμοποιούν το όνομα XMLHttpRequest του JavaScript ενσωματωμένου αντικειμένου.

Για να ξεπεράσετε αυτό το πρόβλημα, μπορείτε να χρησιμοποιήσετε τον παρακάτω απλό κώδικα:

var XMLHttp=null
if (window.XMLHttpRequest)
  {
  XMLHttp=new XMLHttpRequest()
  }
else if (window.ActiveXObject)
  {
  XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }

Επεξήγηση Κώδικα:

  1. Πρώτα δημιουργήστε ένα αντικείμενο που χρησιμοποιείται ως XMLHttpRequest XMLHttp Μεταβλητή. Αποτελείται από το null.
  2. Στη συνέχεια, δοκιμάστε window.XMLHttpRequest Είναι διαθέσιμο. Στις νέες εκδόσεις των προγραμματιστών Firefox, Mozilla, Opera και Safari, το αντικείμενο αυτό είναι διαθέσιμο.
  3. Αν είναι διαθέσιμο, χρησιμοποιήστε το για να δημιουργήσετε ένα νέο αντικείμενο:XMLHttp=new XMLHttpRequest()
  4. Αν δεν είναι διαθέσιμο, τότε ελέγξτε window.ActiveXObject Είναι διαθέσιμο. Στις εκδόσεις του Internet Explorer version 5.5 και υψηλότερες, το αντικείμενο αυτό είναι διαθέσιμο.
  5. Αν είναι διαθέσιμο, χρησιμοποιήστε το για να δημιουργήσετε ένα νέο αντικείμενο:XMLHttp=new ActiveXObject()

Βελτιωμένο παράδειγμα

Ορισμένοι προγραμματιστές προτιμούν να χρησιμοποιούν την πιο πρόσφατη και γρήγορη έκδοση του αντικειμένου XMLHttpRequest.

Ο παρακάτω παράδειγμα προσπαθεί να φορτώσει την τελευταία έκδοση του "Msxml2.XMLHTTP", διαθέσιμο στον Internet Explorer 6, και αν δεν μπορεί να φορτωθεί, επιστρέφει πίσω στην "Microsoft.XMLHTTP", διαθέσιμη στις εκδόσεις Internet Explorer 5.5 και μεταγενέστερες.

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

Επεξήγηση Κώδικα:

  1. Πρώτα δημιουργήστε το XMLHttp Μεταβλητή. Αποτελείται από το null.
  2. Δημιουργία αντικειμένων σύμφωνα με τα πρότυπα web (Mozilla, Opera και Safari):XMLHttp=new XMLHttpRequest()
  3. Δημιουργία αντικειμένων με τον τρόπο της Microsoft, διαθέσιμος σε Internet Explorer 6 και νεότερες εκδόσεις:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
  4. Αν αντιμετωπίσετε σφάλματα, δοκιμάστε πιο παλιά μεθόδους (Internet Explorer 5.5):XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")

Περισσότερες πληροφορίες για το αντικείμενο XMLHttpRequest

Αν θέλετε να διαβάσετε περισσότερα για το XMLHttpRequest, επισκεφθείτε τον Εκμάθηση AJAX