اساسی ترین شی در 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 “) ; } |