آموزش Ajax - ساخت شی XmlHttpRequest
اساسی ترین شی در Ajax که تقریبا انجام تمام عملیات بر روی دوش آن است ، شی XMLHttpRequest
است .
در این بخش قصد داریم تا شما را با شی XMLHttpRequest و نحوه تعریف و استفاده از آن
آشنا نماییم .
تعریف و ساخت یک شی XMLHttpRequest :
شی XMLHttpRequest وظیفه ارسال و دریافت اطلاعات بین مرورگر کاربر و سرور را داشته
و مانع لود شدن مجدد صفحه در هنگام بروز یک تغییر در صفحه می شود . این شی امکان انجام
تغییرات در بخش های مختلف یک صفحه و تبادل اطلاعات با سرور را بدون اینکه صفحه Refresh
شود را فراهم نموده است .
تمام مرورگرهای مطرح از شی XMLHttpRequest پشتیبانی کرده و به صورت درون ساخته آن را
دارند .
در ورژن های قدیمی IE 6 و IE 5 به جای شی XMLHttpRequest ، از شی ActiveXObject پشتیبانی
می شود . بنابراین در هنگام کد نویسی Ajax می توان کد را طوری نوشت که با این مرورگر
ها نیز ، سازگاری داشته باشد . در ادامه به تشریح این مسئله خواهیم پرداخت .
شکل کلی تعریف یک شی XMLHttpRequest به صورت زیر است :
|
Syntax
|
variable = new XMLHttpRequest ( ) ;
* variable : یک متغیر با نام دلخواه است
|
شکل کلی تعریف این شی در مرورگرهای قدیمی IE 5 , IE 6 و برای سازگاری با آنها به صورت
زیر است :
|
Syntax
|
variable = new ActiveXObject ( " Microsoft.XMLHTTP " ) ;
|
مثال ساخت یک XMLHttpRequest :
پس از اینکه با نحوه تعریف یک شی 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 ") ;
  }
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان بگذارید :