فهرست:
تکتنولوژی 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”/] حال با کلیک بر روی دکمه مشاهده می فرمایید که بدون رفرش صفحه متن مورد نظر تغییر می کند.