РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
479 of 1392 menu

Метод ajax

Метод ajax применяется к объекту запроса и возвращает логическое значение true, если запрос был отправлен через AJAX. Определение основывается на наличии заголовка X-Requested-With со значением XMLHttpRequest. Этот заголовок автоматически добавляется большинством JavaScript-библиотек, таких как jQuery, Axios и другими.

Синтаксис

<?php $request->ajax(); ?>

Метод не принимает параметров и возвращает логическое значение.

Пример

Давайте проверим, является ли текущий запрос AJAX-запросом, и выведем соответствующее сообщение:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ArticleController extends Controller { public function index(Request $request) { if ($request->ajax()) { echo "This is an AJAX request"; } else { echo "This is a regular request"; } } } ?>

Пример

Давайте используем метод ajax в контроллере для возврата различных типов ответов в зависимости от типа запроса:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppModelsArticle; class ArticleController extends Controller { public function getArticles(Request $request) { $articles = Article::all(); if ($request->ajax()) { return response()->json($articles); } return view('articles.index', ['articles' => $articles]); } } ?>

Пример

Давайте обработаем AJAX-запрос с данными формы и вернём JSON-ответ:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppModelsArticle; class ArticleController extends Controller { public function store(Request $request) { if ($request->ajax()) { $article = new Article(); $article->title = $request->input('title'); $article->text = $request->input('text'); $article->save(); return response()->json([ 'success' => true, 'article' => $article ]); } return redirect()->back()->with('error', 'Invalid request type'); } } ?>

Пример

Давайте используем метод ajax в маршруте для проверки запроса и возврата соответствующего ответа:

<?php use IlluminateSupportFacadesRoute; use IlluminateHttpRequest; Route::get('/articles', function (Request $request) { if ($request->ajax()) { return response()->json(['message' => 'AJAX request received']); } return view('articles.index'); }); ?>

Результат выполнения кода для AJAX-запроса:

{"message": "AJAX request received"}

Результат выполнения кода для обычного запроса:

"HTML view rendered"

Смотрите также

  • метод wantsJson,
    который определяет, ожидает ли клиент JSON-ответ
  • метод expectsJson,
    который проверяет, ожидается ли JSON-ответ
  • метод method,
    который возвращает HTTP-метод запроса
  • метод isMethod,
    который проверяет соответствие HTTP-метода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить