آموزش AJAX در لاراول

فناوری AJAX در طراحی سایت مدرن جایگاه مهمی دارد و فریم‌ورک‌های برنامه‌نویسی وب مانند Laravel هم امکانات ویژه‌ای برای این منظور در نظر گرفته‌اند. پیش از شروع به آموزش AJAX در لاراول لازم است تا با این فناوری آشنایی قبلی داشته باشید.

فریم ورک لاراول

فراخوانی AJAX و VerifyCsrfToken

یکی از Middlewareها که در لاراول به صورت خودکار فراخوانی می‌شود، VerifyCsrfToken نام دارد و وظیفه دارد تا اجرای دستوراتی که از سمت کاربر نیست را مسدود کند. این کار با بررسی وجود CSRF Token به همراه درخواست صورت می‌پذیرد.

هنگامی که فرم‌های شما به صورت سنتی ارسال می‌شوند، می‌بایست فیلد CSRF را در فرم درج کنید. همچنین هنگامی که درخواست شما با استفاده از AJAX ارسال می‌شود، این کار ضروری است.

اگر برای درخواست AJAX از فریم‌ورک‌هایی که کوکی X-XSRF-TOKEN را می‌شناسند استفاده می‌کنید، نیاز نیست تا هیچ کار اضافه‌ای انجام دهید. از جمله این فریم‌ورک‌ها می‌توان Angular و Axios را نام برد.

استفاده در jQuery

اگر برای ارسال درخواست‌های خود از jQuery استفاده می‌کنید، می‌توانید کدهای زیر را برای انجام تنظیمات لازم روی jQuery فراخوانی کنید:

یا می‌توانید با درج کد CSRF در قالب یک Meta Tag به صفحه، کد زیر را هم استفاده نمایید:

جاوااسکریپت خالص

همچنین برای ارسال یک درخواست AJAX با استفاده از جاوااسکریپت خالص و با در نظر گرفتن توکن امنیتی لاراول، کدهای خود را به شکل زیر می‌توانید بنویسید:

ارسال فیلدهای یک فرم واقعی به صورت AJAX

برای جمع‌آوری مقادیر وارد شده در یک فرم واقعی می‌توانیم از اینترفیس FormData استفاده کنیم. این اینترفیس، تمامی فیلدهای موجود در یک فرم را که شرایط ارسال داشته باشند، جمع‌آوری می‌کند. پس از جمع‌آوری مقادیر می‌توانیم با یک درخواست AJAX اطلاعات را به سرور ارسال کنیم:

در قطعه کد بالا، هنگامی که کاربر روی دکمه‌ی Submit فرم کلیک کند، فرآیند پیش‌فرض ارسال اجرا نمی‌شود و در عوض یک درخواست AJAX به سرور ارسال می‌شود و پاسخ نیز در کنسول مرورگر چاپ می‌شود.

فراخوانی متد preventDefault روی event در کد بالا ضروری است تا از Submit فرم به صورت عادی جلوگیری کند.

تبدیل خودکار خروجی به JSON

فریم‌ورک لاراول به صورت پیش‌فرض درخواست‌هایی که از به صورت AJAX ارسال شوند را شناسایی می‌کند و اگر پاسخ ارسالی شما به این درخواست‌ها از نوع آرایه یا مدل باشد، آن را به حالت JSON تبدیل می‌کند و با سرآمد مناسب به درخواست کننده بر‌می‌گرداند. برای مثال به دو مثال زیر توجه کنید:

ایجاد خروجی JSON به صورت صریح

همچنین به صورت صریح می‌توانید مقدار خروجی را با نوع و محتوای JSON بازگشت دهید:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *