Как перенаправить на маршрут Laravel при поступлении вызова из JS Ajax - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь создать перенаправление на маршрут в контроллере laravel, где вызов к этому контроллеру поступил от вызова Ajax в файле js.

Пример: я загрузил представление localhost:8000/viewone, в этом представлении я запускаю код js, который выполняет вызов Ajax по маршруту Laravel: routeone.В функции контроллера, связанной с routeone, код выполняет некоторую обработку данных и затем должен загрузить другое представление: viewTwo.

Проблема заключается в том, что загрузка viewTwo не происходит, и всеЯ получаю HTML-код представления в моем операторе возврата в onsuccess функции вызова Ajax.

То, что я пытался:

Создать контроллер, подписанный на viewTwo, создав новый маршрут routeTwo, в моем контроллере routeone я перенаправляю на этот маршрутс данными сеанса.

return redirect()->route('routeTwo')->with(['data'=>$data])

В контроллере routeTwo я получаю данные сеанса и возвращаю viewTwo.

$data = \Session::get('data');
return view('viewTwo',['data'=>$data]);

Это все еще не работает.Происходит следующее: загрузка viewTwo происходит как запрос XHR, и я получаю страницу HTML, которая была бы загружена в главном представлении браузера (как в первом представлении), как данные ответа XHR.

Вопрос: Как принудительно перенаправить в / загрузить представление, когда вызов поступил из функции Js AJAX.

1 Ответ

0 голосов
/ 11 октября 2018

загрузкой или рендерингом html из ajax сделать так на первой странице просмотра

<div class="newView"></div>

с помощью функции успеха ajax добавить эту строку

$('.newView').html(data.html);

в контроллере

$view = view("viewnamewhatuhave",compact('data'))->render();

при виде фасада

$view =  View::make('viewnamewhatuhaveset',[$data])->render();

return response()->json(['html' => $view]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...