XMLHttpRequest در Ajax – آموزش Ajax

  • یکشنبه ۲۱ مرداد ۱۳۹۷
  • بازدید ۴۰۲ نفر

ajax xmlhttprequest 3172 تصویر

XMLHttpRequest در Ajax

XMLHttpRequest در Ajax یک شیء درون ساخت جاوا اسکریپت می باشد که به توسعه دهندگان کمک می کند بتوانند بدون Refresh کردن صفحه، با سرور در ارتباط (ارسال و دریافت داده ها) باشند. XMLHttpRequest که به اختصار XHR نیز نامیده می شود، می تواند توسط جاوا اسکریپت، Jscript، VBScript و سایر زبان های اسکریپتی مرورگر وب، به منظور انتقال و دستکاری داده های XML استفاده شود. XMLHttpRequest یک کانال ارتباطی مستقل بین کلاینت و سرور ایجاد می کند. داده های بازگشتی از فراخوانی های XMLHttpRequest اغلب به وسیله پایگاه های back-end ارائه می شوند. علاوه بر XML شیء XMLHttpRequest قادر است تا داده ها را در سایر فرمت های رایج مانند JSON ارائه کند.

در زیر لیست برخی از متدها و خصوصیات های شیء XMLHttpRequest را مشاهده می کنید.

متدهای XMLHttpRequest

  • abort() : درخواست جاری را لغو می کند.
  • getAllResponseHeaders() : مجموعه ی کاملی از هدرهای HTTP را بصورت string برمی گرداند.
  • getResponseHeader(headerName) : مقدار هدر HTTP مشخص شده را برمی گرداند.
  • open(method, URL)
  • open(method, URL, async)
  • open(method, URL, async, userName)
  • open(method, URL, async, userName, password)
  • send(content) : درخواست را ارسال می کند.
  • setRequestHeader(label, value) : یک جفت label/value را به هدر HTTP ارسال می کند.

method، URL و سایر ویژگی های یک درخواست را مشخص می کند.

پارامتر method می تواند یکی از متدهای HTTP (مانند GET، POST، HEAD، PUT، DELETE و غیره) را داشته باشد.

پارامتر async مشخص می کند که آیا درخواست باید به شکل غیرهمزمان (Asynchronous) باشد یا خیر.

خاصیت های XMLHttpRequest

خاصیت onreadystatechange :

یک Event Handler است که هر زمان مقدار readyState تغییر کند، فراخوانی می شود.

خاصیت readyState :

وضعیت فعلی شیء XMLHttpRequest را تعریف می کند. در جدول زیر مقادیری که این پراپرتی برمیگرداند را مشاهده می کنید.

وضعیتتوضیحات
۰درخواست هنوز مقدار دهی اولیه نشده است. این وضعیت زمانی است که شما از شیء XMLHttpRequest نمونه سازی کرده اید، ولی هنوز تابع open() را فراخوانی نکرده اید.
۱اتصال به سرور برقرار شد. این وضعیت زمانی است که شما تابع open() را فراخوانی کرده اید، اما هنوز تابع send() فراخوانی نشده است.
۲درخواست به سرور ارسال شده است. زمانی است که شما تابع send() را فراخوانی می کنید.
۳سرور در حال پردازش درخواست است. زمانی است که ارتباط مرورگر با سرور برقرار شده است، اما هنوز پردازش کامل نشده است.
۴درخواست کامل شده است. زمانی است که داده های پردازش شده به طور کامل از سرور دریافت می شوند.

خاصیت responseText :

پاسخ را به صورت رشته باز میگرداند.

خاصیت responseXML :

پاسخ را به صورت XML باز میگرداند. این پراپرتی یک شیء XML باز میگرداند که می توان با استفاده از W3C DOM آن را تجزیه کرد.

خاصیت status :

وضعیت را به صورت یک عدد باز میگرداند.

خاصیت statusText :

وضعیت را به صورت یک رشته باز میگرداند.

فهرست کدهای وضعیت HTTP یا (HTTP Status Codes)
  • OK(200) : به این معنی است که در خواست ارسال شده، با موفقیت توسط سرور پردازش شده است.
  •  Bad Request(400) : به این معنی است که سرور در تشخص syntax درخواست ناتوان بوده است.
  • Unauthorized(401) : به این معنی است که درخواست شما غیرمجاز بوده است.
  • Forbidden(403) : درخواست معتبر است، اما سرور به آن اجازه نداده است.
  • Internal Server Error(500) : سرور با یک وضعیت غیر منتظره مواجه شده است.
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است