ساخت XMLHttpRequest (AJAX XMLHttp)
می خواهیم «شیء XMLHttpRequest» را بسازیم. این شیء پیام بر AJAX است. AJAX یعنی درخواست به سرور بدون رفرش کل صفحه. مثل وقتی در بازی، فقط امتیازت آپدیت می شود.
شیء XMLHttpRequest چیست؟
همه مرورگرهای مدرن از «XMLHttpRequest» پشتیبانی می کنند. این شیء داده را پشت صحنه می گیرد. سپس بخشی از صفحه را تازه می کند. بنابراین کل صفحه دوباره لود نمی شود.
ساخت شیء XMLHttpRequest
برای شروع، یک نمونه بساز. سپس با آن درخواست بفرست.
var xhttp = new XMLHttpRequest();
نکته: این همان نمونه رسمی منبع است. فقط بساز و بعداً پیکربندی کن.
دسترسی بین دامنه ای
به دلایل امنیتی، دسترسی بین دامنه ها مجاز نیست. یعنی صفحه و فایل مقصد باید روی یک سرور باشند.
هشدار: مثال های منبع، فایل ها را از دامنه خودش می خواند. اگر در سایت خودت استفاده می کنی، فایل ها باید روی سرور خودت باشند.
متدهای مهم XMLHttpRequest
| Method | توضیح کوتاه |
|---|---|
| new XMLHttpRequest() | ساخت شیء جدید |
| abort() | لغو درخواست جاری |
| getAllResponseHeaders() | گرفتن همه هدرها |
| getResponseHeader() | گرفتن یک هدر خاص |
| open(method, url, async, user, psw) | تنظیم نوع و مقصد درخواست |
| send() | ارسال برای GET |
| send(string) | ارسال برای POST |
| setRequestHeader() | افزودن هدر سفارشی |
ویژگی های مهم XMLHttpRequest
| Property | توضیح کوتاه |
|---|---|
| onreadystatechange | تابع واکنش به تغییر وضعیت |
| readyState | وضعیت 0 تا 4 درخواست |
| responseText | متن پاسخ به صورت رشته |
| responseXML | پاسخ به صورت XML |
| status | کُد وضعیت مانند 200 و 404 |
| statusText | متن وضعیت مانند OK |
پیوندهای داخلی مفید
برای مقدمه AJAX به آموزش مقدمه AJAX برو. سپس برای ارسال درخواست با همین شیء، ارسال با XMLHttpRequest را ببین.
جمع بندی سریع
- XMLHttpRequest پایه AJAX است.
- ساخت شیء بسیار ساده است.
- به طور پیش فرض، بین دامنه ها ممنوع است.
- متدها و ویژگی ها کوتاه و کاربردی اند.
- قدم بعدی، ارسال درخواست است.