اساسی ترین شی در Ajax که تقریبا انجام تمام عملیات بر روی دوش آن است ، شی XMLHttpRequest است .
در این بخش قصد داریم تا شما را با شی XMLHttpRequest و نحوه تعریف و استفاده از آن آشنا نماییم .

ی XMLHttpRequest وظیفه ارسال و دریافت اطلاعات بین مرورگر کاربر و سرور را داشته و مانع لود شدن مجدد صفحه در هنگام بروز یک تغییر در صفحه می شود . این شی امکان انجام تغییرات در بخش های مختلف یک صفحه و تبادل اطلاعات با سرور را بدون اینکه صفحه Refresh شود را فراهم نموده است .

تمام مرورگرهای مطرح از شی XMLHttpRequest پشتیبانی کرده و به صورت درون ساخته آن را دارند .
در ورژن های قدیمی IE 6 و IE 5 به جای شی XMLHttpRequest ، از شی ActiveXObject پشتیبانی می شود . بنابراین در هنگام کد نویسی Ajax می توان کد را طوری نوشت که با این مرورگر ها نیز ، سازگاری داشته باشد . در ادامه به تشریح این مسئله خواهیم پرداخت .

شکل کلی تعریف یک شی XMLHttpRequest به صورت زیر است :

 Syntax  var xmlhttp;
if ( window.XMLHttpRequest )
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest () ;
}
else
{
// code for IE6, IE5
xmlhttp = new ActiveXObject (” Microsoft.XMLHTTP “) ;
}

شکل کلی تعریف این شی در مرورگرهای قدیمی IE 5 , IE 6 و برای سازگاری با آنها به صورت زیر است :

 

 Syntax  variable = new ActiveXObject ( ” Microsoft.XMLHTTP ” ) ;

 

 

پس از اینکه با نحوه تعریف یک شی XMLHttpRequest در Ajax آشنا شدید ، در کد مثال زیر یک نمونه از این شی را ساخته ایم . در این مثال برای سازگاری با تمام مرورگرهای جدید و قدیمی ، یک دستور شرطی را به کار برده ایم . در این دستور ابتدا وضعیت تعریف شی XMLHttpRequest در مرورگر بررسی شده و سپس با توجه به قابلیت مرورگر کد لازم استفاده می شود :
همانطور که مشاهده می نمایید ، شی XMLHttpRequest ساخته شده در متغیر xmlhttp ذخیره می شود . پس از تعریف این متغیر ، از آن برای کار با Ajax در سطح برنامه استفاده می شود . در بخش های بعدی توضیح این مسئله داده شده است .

 Syntax  var xmlhttp;
if ( window.XMLHttpRequest )
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest () ;
}
else
{
// code for IE6, IE5
xmlhttp = new ActiveXObject (” Microsoft.XMLHTTP “) ;
}