فهرست:

تکتنولوژی Ajax مخفف (Asynchronous JavaScript and XML) می باشد، و با کمک آن قابلیت ارسال و دریافت درخواست را در client-side برای وب اپلیکیشن فراهم می کنیم، در این مبحث ما برای بررسی استفاده از Ajax در لاراول از کتابخانه Jquery استفاده خواهیم داشت، در سمت server می توانید از تابع response برای ارسال پاسخ به client استفاده کنید. در لاراول می توان برای ارسال پاسخ در فرمت JSON از تابع json استفاده کرد.

json() function syntax

[pastacode lang=”php” manual=”json(string%7Carray%20%24data%20%3D%20array()%2C%20int%20%24status%20%3D%20200%2C%20array%20%24headers%20%3D%20array()%2C%20int%20%24options)%0A” message=”” highlight=”” provider=”manual”/]

مثال کاربردی استفاده از Ajax در لاراول

برای بررسی بهتر استفاده از Ajax در لاراول به ذکر یک مثال کاربردی می پردازیم، برای این منظور ابتدا message.php در مسیر resources/views با مختویات زیر ایجاد می کنیم. [pastacode lang=”markup” manual=”%3Chtml%3E%0A%20%20%20%3Chead%3E%0A%20%20%20%20%20%20%3Ctitle%3EAjax%20Example%3C%2Ftitle%3E%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%3Cscript%20src%20%3D%20%22https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F2.1.3%2Fjquery.min.js%22%3E%0A%20%20%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20%20function%20getMessage()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24.ajax(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A’POST’%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20url%3A’%2Fgetmsg’%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data%3A’_token%20%3D%20%3C%3Fphp%20echo%20csrf_token()%20%3F%3E’%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20success%3Afunction(data)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24(%22%23msg%22).html(data.msg)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%3C%2Fhead%3E%0A%20%20%20%0A%20%20%20%3Cbody%3E%0A%20%20%20%20%20%20%3Cdiv%20id%20%3D%20’msg’%3EThis%20message%20will%20be%20replaced%20using%20Ajax.%20%0A%20%20%20%20%20%20%20%20%20Click%20the%20button%20to%20replace%20the%20message.%3C%2Fdiv%3E%0A%09%20%20%20%09%20%3Cbutton%20type%3D%22button%22%20onClick%3D%22getMessage()%22%3EReplace%20Message%3C%2Fbutton%3E%0A%20%20%20%3C%2Fbody%3E%0A%0A%3C%2Fhtml%3E” message=”resources/views/message.php” highlight=”” provider=”manual”/] حال با استفاده از خط فرمان زیر کنترلر AjaxController را ایجاد می کنیم. [pastacode lang=”markup” manual=”php%20artisan%20make%3Acontroller%20AjaxController%20–plain%0A” message=”” highlight=”” provider=”manual”/] بعد از اجرای خط فرمان بالا فایل AjaxController.php را بصورت زیر ویرایش کنید. [pastacode lang=”php” manual=”%3C%3Fphp%0A%0Anamespace%20App%5CHttp%5CControllers%3B%0A%0Ause%20Illuminate%5CHttp%5CRequest%3B%0Ause%20App%5CHttp%5CRequests%3B%0Ause%20App%5CHttp%5CControllers%5CController%3B%0A%0Aclass%20AjaxController%20extends%20Controller%20%7B%0A%20%20%20public%20function%20index()%20%7B%0A%20%20%20%20%20%20%24msg%20%3D%20%22This%20is%20a%20simple%20message.%22%3B%0A%20%20%20%20%20%20return%20response()-%3Ejson(array(‘msg’%3D%3E%20%24msg)%2C%20200)%3B%0A%20%20%20%7D%0A%7D” message=”app/Http/Controllers/AjaxController.php” highlight=”” provider=”manual”/] حال فایل روت را بصورت زیر ویرایش کنید. [pastacode lang=”php” manual=”Route%3A%3Aget(‘ajax’%2Cfunction()%20%7B%0A%20%20%20return%20view(‘message’)%3B%0A%7D)%3B%0ARoute%3A%3Apost(‘%2Fgetmsg’%2C’AjaxController%40index’)%3B” message=”app/Http/routes.php” highlight=”” provider=”manual”/] برای بررسی خروجی مرورگر خود ب آدرس زیر مراجعه فرمایید. [pastacode lang=”markup” manual=”http%3A%2F%2Flocalhost%3A8000%2Fajax%0A” message=”” highlight=”” provider=”manual”/] حال با کلیک بر روی دکمه مشاهده می فرمایید که بدون رفرش صفحه متن مورد نظر تغییر می کند.