Ajax (асинхронный JavaScript и XML) представляет собой набор методов веб-разработки, использующих множество веб-технологий, используемых на стороне клиента для создания асинхронных веб-приложений. Импортируйте библиотеку jquery в ваш файл представления, чтобы использовать функции jjery ajax, которые будут использоваться для отправки и получения данных с помощью ajax с сервера. На стороне сервера вы можете использовать функцию response () для отправки ответа клиенту, а для отправки ответа в формате JSON вы можете связать функцию response с помощью функции json ().
Синтаксис функции json ()
json(string|array $data = array(), int $status = 200, array $headers = array(), int $options)
пример
Шаг 1 — Создайте файл представления с именем resources / views / message.php и скопируйте следующий код в этот файл.
<html> <head> <title>Ajax Example</title> <script src = "https://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 , выполнив следующую команду.
php artisan make:controller AjaxController --plain
Шаг 3 — После успешного выполнения вы получите следующий вывод —
Шаг 4 — Скопируйте следующий код в
Файл app / Http / Controllers / AjaxController.php .
приложение / Http / Контроллеры / AjaxController.php
<?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 / rout.php .
приложение / Http / routes.php
Route::get('ajax',function() { return view('message'); }); Route::post('/getmsg','AjaxController@index');
Шаг 6 — Посетите следующий URL, чтобы проверить функциональность Ajax.
http://localhost:8000/ajax
Шаг 7 — Вы будете перенаправлены на страницу, где вы увидите сообщение, как показано на следующем рисунке.
Шаг 8 — После нажатия кнопки результат будет выглядеть, как показано на следующем рисунке.