با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته که شروع فصل آموزش AJAX بود مقدمه و مرور کوتاهی بر AJAX داشتیم. در ادامه سلسله مباحث آموزش XML، آموزش کار با XMLHttp در AJAX را به علاقمندان این دوره ارائه می نماییم.
می توان ادعا کرد که سنگ بنای XMLHttpRequest object، AJAX است!
تمام مرورگرهای مدرن از شی XMLHttpRequest object پشتیبانی می کنند.
از XMLHttpRequest object می توان برای تبادل داده در پشت صحنه استفاده کرد.
به این معنا که می توانید قسمتی از صفحه وب را بدون نیاز به بارگذاری کل صفحه به روز رسانی کنید.
تمام مرورگرهای مدرن از XMLHttpRequest object پشتیبانی می کنند.
تمام مرورگرهای مدرن نظیر (Chrome، Firefox، IE7 +، Edge، Safari Opera) دارای یک XMLHttpRequest object هستند.
سیینتکس لازم برای ایجاد XMLHttpRequest object :
1 | variable = new XMLHttpRequest(); |
1 | var xhttp = new XMLHttpRequest(); |
به دلایل امنیتی مرورگرهای مدرن اجازه دسترسی به دامنه ها را نمی دهند.
بدان معنا که هر دو صفحه وب و فایل XML که بارگذاری می شوند، باید بر روی همان سرور قرار گیرند.
نمونه های موجود در پی وی لرن همه فایل های XML را که در دامنه این سایت قرار دارند را باز می کند.
بنابرین اگر می خواهید از مثال بالا در یکی از صفحات وب خودتان استفاده کنید، فایل های XML ای را که بارگذاری می کنید باید بر روی سرور خودتان قرار دهید.
نسخه های قدیمی اینترنت اکسپلورر (IE5 و IE6) از ActiveX object به جای XMLHttpRequest object استفاده می کنند:
1 | variable = new ActiveXObject("Microsoft.XMLHTTP"); |
برای مدیریت IE5 و IE6، بررسی کنید که آیا مرورگر از XMLHttpRequest object پشتیبانی می کند یا اینکه یک ActiveX object را ایجاد می نماید:
1 2 3 4 5 6 7 | if (window.XMLHttpRequest) { // code for modern browsers xmlhttp = new XMLHttpRequest(); } else { // code for old IE browsers xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } |
روش | توضیخات |
()new XMLHttpRequest | یک XMLHttpRequest object جدید می سازد. |
()abort | request فعلی را کنسل می کند. |
()getAllResponseHeaders | اطلاعات header را بازگردانی می نماید. |
()getResponseHeader | اطلاعات header خاصی را بازگردانی می نماید. |
(open(method,url,async,user,psw | request را مشخص می کند درخواست را مشخص می کندروش: درخواست نوع GET یا POST url: محل فایل true :async: (ناهمزمان) یا false (همگام) کاربر: نام کاربری اختیاری psw: رمز عبور اختیاری |
()send | درخواست را به سرور ارسال می کند مورد استفاده برای GET requests |
(send(string | درخواست را به سرور ارسال می کند مورد استفاده برای POST requests |
یک جفت label/value را به header ارسال می کند |
ویژگی | توضیحات |
onreadystatechange | وقتی readyState property تغییر می کند یک تابع را برای نام گذاری آماده می نماید. |
readyState | وضعیت XMLHttpRequest را نگه می دارد: ۰: درخواست اولیه نشده است ۱: اتصال به سرور برقرار شد ۲: درخواست دریافت شد ۳: درخواست پردازش ۴: درخواست تکمیل شده و پاسخ آماده است |
responseText | داده های پاسخ response data را به عنوان یک رشته بازگردانی می کند. |
responseXML | داده های پاسخ response data را به عنوان داده های XML باز گردانی می نماید. |
status | status-number را از یک درخواست بازگردانی می نماید. ۲۰۰: “خوب” ۴۰۳: “ممنوع” ۴۰۴ پیدا نشد” برای مشاهده لیست به صورت کامل به Http Messages Reference مراجعه کنید |
statusText | وضعیت متن (مثلا “OK” یا “Not Found”) را بازگردانی می کند. |
در این جلسه آموزش کار با XMLHttp در AJAX را ارائه کردیم.
در جلسه بعدی با آموزش Request ها را در AJAX با همراه شما هستیم.
با پی وی لرن همراه باشید.