От автора: в Laravel Ajax (асинхронный JavaScript и XML) — это метод веб-разработки, использующий различные веб-технологии, применяемые на стороне клиента для создания асинхронных веб-приложений. Импортируйте библиотеку jquery в файл представления, чтобы использовать функцию ajax из jquery, которая будет применяться для отправки и получения данных с сервера с помощью ajax. На стороне сервера вы можете использовать функцию response() для отправки ответа клиенту, для предоставления ответа в формате JSON вы можете связать функцию response с функцией json().
Синтаксис функции json()
1 |
json(string|array $data = array(), int $status = 200, array $headers = array(), int $options) |
Пример
Шаг 1. Создайте файл представления с именем resources/views/message.php, и скопируйте в этот файл следующий код.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<html> <head> <title>Ajax Example</title> <script src = "//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script> <script> function getMessage(){ $.ajax({ type:'POST', url:'/getmsg', data:'_token = <?php echo csrf_token() ?>', success:function(data){ $("#msg").html(data.msg); } }); } </script> </head> <body> <div id = 'msg'>This message will be replaced using Ajax. Click the button to replace the message.</div> <?php echo Form::button('Replace Message',['onClick'=>'getMessage()']); ?> </body> </html> |
Шаг 2 — Создайте контроллер с именем AjaxController, выполнив следующую команду.
1 |
php artisan make:controller AjaxController --plain |
Шаг 3 – В результате вы получите следующее:
Шаг 4 — Скопируйте в файл app/Http/Controllers/AjaxController.php следующий код.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class AjaxController extends Controller { public function index(){ $msg = "This is a simple message."; return response()->json(array('msg'=> $msg), 200); } } |
Шаг 5 — Добавьте в файл app/Http/routes.php следующие строки.
1 2 3 4 |
Route::get('ajax',function(){ return view('message'); }); Route::post('/getmsg','AjaxController@index'); |
Шаг 6 – Перейдите по следующему URL-адресу, чтобы проверить работу Ajax. //localhost:8000/ajax
Шаг 7 — Вы будете перенаправлены на страницу, на которой увидите сообщение, приведенное на следующем рисунке.
Шаг 8 — После нажатия кнопки вы увидите на экране следующее.
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.
Комментарии (1)