ترفندهای پیشرفته jQuery (قسمت 18)

- visibility ٠ mode_comment

در این قسمت با ادامه ترفندهای پیشرفته jQuery در خدمت شما هستیم. jquery trickshot

موضوع چهارم : Ajax

ترفند 35 : درخواست Ajax رو با Deferred ساده تر کنید

Deferred ها ابزار قدرتمندی هستند. jQuery برای هر درخواست Ajax یک شئ معوقه برمیگردونه که اون رو برای کار کردن آسونتر میکنه. در اینجا روش اینکه چطور با استفاده از Deferred کدهای خود رو خواناتر کنید توضیح داده خواهد شد.

کدهای JS:

میبینید که در ابتدا با استفاده از متد get یک فایل json رو لود میکنیم و بعد از اون اگر موفقیت آمیز باشه متد done هم اجرا میشه و اطلاعاتی رو در متغیر r ذخیره میکنه که میتونیم اون رو در کنسول نمایش بدیم. یعنی تونستیم با اینکار ، همون کاری که توسط Callback از نوع success انجام میشه رو شبیه سازی کنیم ، با این تفاوت که کدهامون کوتاهتر و خواناتر شدن.

همچنین در مواقعی که درخواست فرستاده میشه ولی فایل مورد نظر وجود نداره ، پاسخ از نوع شکست و خطا از طرف سرور داده میشه و برای مدیریت کردن این مواقع شما باید در حالت طبیعی یک متد کامل از نوع $.ajax رو بنویسید و با استفاده از callback از نوع failure اون رو مدیریت کنید. اما با استفاده از این ترفند میتونین بصورت ساده از متد fail استفاده کنید و کدهاتون رو ساده تر و خواناتر کنید:

در این حالت اگر فایل مورد نظر وجود نداشته باشه ، متد fail اجرا میشه و اطلاعات مورد نظر رو در متغیر r ذخیره میکنه و در داخل اون میتونین به این اطاعات دسترسی داشته باشین و میتونین اونا رو به کاربران سایتتون نشون بدین. این ترفند قدرتش خیلی بالا هست و میتونین از قدرت اون بهره ببرین.

ترفند 36 : اجرای چند درخواست Ajax به موازات هم

در بعضی مواقع و در بعضی از اپلیکیشن ها نیاز هست که بصورت همزمان چند درخواست Ajax فرستاده بشه و در این مواقع ممکنه مشکلاتی برای این درخواست ها که مقصداشون با هم فرق داره بوجود بیاد. بجای اینکه منتظر بمونید که که یک درخواست به پایان برسه تا بعدی رو بفرستید ، شما میتونین با استفاده از قدرت jQuery درخواست هارو به موازات همدیگه بفرستید و نتیجه رو دریافت کنید. این کار در jQuery با استفاده از تابع $.when انجام میشه.

کدهای JS:

همونطور که در بالا میبینید در ابتدا تابع when رو قرار دادیم و درون اون دو درخواست Ajax رو برای دریافت دو فایل 1.json و 2.json فرستادیم. این درخواست ها در اینجا و با این روش به موازات هم اجرا میشن و اگر موفقیت آمیز باشه متد then اجرا میشه و در اینجا اطلاعات رو در دو متغیر r1 و r2 ذخیره میکنه. اطلاعاتی که در r1 ذخیره میشه مربوط به درخواست فایل 1.json و اطلاعاتی که در r2 ذخیره میشه مربوط به درخواست فایل 2.json هست. بعد از اون میتونین از اطلاعات موجود در این متغیر ها استفاده لازم رو بکنید. دیدید که تونستیم با استفاده از این روش دو درخواست Ajax رو به موازات همدیگه بفرستیم.

امیدوارم از این مطلب خوشتون اومده باشه.

موفق و پیروز باشید

یا علی

Source

comment دیدگاه کاربران

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.