Laravel 5.2 성공 메시지와 함께 다시 연결
라라벨 홈페이지에 성공 메시지를 다시 보내려고 합니다.
return redirect()->back()->withSuccess('IT WORKS!');
어떤 이유에서인지 $success 변수는 이 코드를 실행한 후 값을 얻지 못합니다.
성공 메시지를 표시하기 위해 사용하는 코드:
@if (!empty($success))
<h1>{{$success}}</h1>
@endif
홈과 뉴스레터 페이지를 웹 미들웨어 그룹에 루트 추가하였습니다.다음과 같은 php:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/', function () {
return view('home');
});
Route::post('/newsletter/subscribe','NewsletterController@subscribe');
});
이게 왜 안 되는 건지 아는 사람?
제거해야 합니다.web
에서의 미들웨어.routes.php
. 추가하기web
미들웨어는 Laravel 5.2.27 이상에서 세션 및 요청 관련 문제를 수동으로 발생시킵니다.
도움이 되지 않았다면 (그래도, 계속)routes.php
웹 미들웨어 없이), 약간 다른 접근 방식을 시도할 수 있습니다.
return redirect()->back()->with('message', 'IT WORKS!');
메시지가 있는 경우 표시:
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif
다음을 사용할 수 있습니다.
return redirect()->back()->withSuccess('IT WORKS!');
보기에 사용할 수 있습니다.
@if(session('success'))
<h1>{{session('success')}}</h1>
@endif
컨트롤러:
return redirect()->route('subscriptions.index')->withSuccess(['Success Message here!']);
칼날
@if (session()->has('success'))
<div class="alert alert-success">
@if(is_array(session('success')))
<ul>
@foreach (session('success') as $message)
<li>{{ $message }}</li>
@endforeach
</ul>
@else
{{ session('success') }}
@endif
</div>
@endif
이 부분을 항상 별도의 블레이드 파일로 저장하고 쉽게 포함할 수 있습니다.예:
<div class="row">
<div class="col-md-6">
@include('admin.system.success')
<div class="box box-widget">
간단히 사용할 수 있습니다.back()
사용할 필요가 없도록 리디렉션 기능redirect()->back()
5.2 이상 버전을 사용하고 있는지 확인합니다.
코드를 아래 코드로 교체할 수 있습니다.
return back()->with('message', 'WORKS!');
보기 파일에서 아래 코드를 바꿉니다.
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif
자세한 내용은 여기에서 확인할 수 있습니다.
back()
그저 도우미 기능일 뿐입니다.그것은 다음과 같은 일을 하고 있습니다.redirect()->back()
이를 위한 한 가지 방법은 다음과 같이 세션에서 메시지를 보내는 것입니다.
컨트롤러:
return redirect()->back()->with('success', 'IT WORKS!');
보기:
@if (session()->has('success'))
<h1>{{ session('success') }}</h1>
@endif
그리고 이를 위한 또 다른 방법은 세션을 만들고 텍스트를 직접 보기에 넣는 것입니다.
컨트롤러:
return redirect()->back()->with('success', true);
보기:
@if (session()->has('success'))
<h1>IT WORKS!</h1>
@endif
전체 설명서는 여기에서 확인할 수 있습니다: 플래시된 세션 데이터를 사용하여 리디렉션
많은 도움이 되길 바랍니다, 안녕하세요.
위의 내용이 모두 맞지만, 이 직선형 원라이너를 사용해 보십시오.
{{session()->has('message') ? session()->get('message') : ''}}
컨트롤러에서
return redirect()->route('company')->with('update', 'Content has been updated successfully!');
보기에
@if (session('update'))
<div class="alert alert-success alert-dismissable custom-success-box" style="margin: 15px;">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<strong> {{ session('update') }} </strong>
</div>
@endif
라벨 메시지백을 사용하여 기존 메시지에 우리 고유의 메시지를 추가할 수 있습니다.
MessageBag을 사용하려면 다음을 사용해야 합니다.
use Illuminate\Support\MessageBag;
컨트롤러에서:
MessageBag $message_bag
$message_bag->add('message', trans('auth.confirmation-success'));
return redirect('login')->withSuccess($message_bag);
누군가에게 도움이 되길 바랍니다.
- 아디.
컨트롤러에서:
`return redirect()->route('car.index')->withSuccess('Bein ajoute')`;
보기에
@if(Session::get('success'))
<div class="alert alert-success">
{{session::get('success')}}
</div>
@endif
언급URL : https://stackoverflow.com/questions/37376168/laravel-5-2-redirect-back-with-success-message
'programing' 카테고리의 다른 글
Base64 String을 파일 입력 양식과 같은 자바스크립트 파일 개체로 변환하는 방법은 무엇입니까? (0) | 2023.11.01 |
---|---|
개발 중 크래쉬리틱스를 비활성화하는 방법 (0) | 2023.11.01 |
트리거 내부의 변수 선언 (0) | 2023.11.01 |
스팬 안에 텍스트 설정 (0) | 2023.11.01 |
입력일이 오늘 날짜와 동일한지 확인하는 방법은? (0) | 2023.10.27 |