【问题标题】:Unable to see the Alert in the blade view in laravel在 laravel 的刀片视图中无法看到警报
【发布时间】:2020-03-06 21:31:11
【问题描述】:

我正在使用 laravel 检查发布请求,然后在同一页面中显示警报。我尝试返回最后一个 url 并返回一条消息,但我无法看到该消息。

这是我的控制器功能

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;

use App\Category;
use App\Glassfilm;
use DB;
use Session;


public function checkProduct(Request $request){

    $this->validate($request,[

        'area' => 'required',

    ]);

    if($request->area <= $request->stock){

        //echo "the product is available";
        //echo $request;
        //Session::flash('message', "available");
        echo back();
        // return back()->with(['success' => 'Success']);
    }
    else{

        echo "the product is not available";
        echo $request;
    }

    // echo $request;
}

我的路线

Route::get('/glassfilm/{name}/{id}' , 'GlassFilmController@search_by_id');

Route::post('/checkproduct' , 'GlassFilmController@checkProduct')->name('check-product');

我的看法

@extends ('glassfilm.master')

@section ('title')
        {{$name}}
@endsection

@section('message')

@if(Session::has('success'))
<div class="alert alert-success" role="alert">
  {{ Session::get('success') }}
</div>
@endif

@endsection
@section ('category')

                    <ul class="main-categories">

                        @foreach($category as $category)
                        <li class="main-nav-list"><a href="{{url('/glassfilm/'.$category->category)}}">{{ $category->category }}<span class="number">({{ $category->count}})</span></a></li>
                        @endforeach
                    </ul>
@endsection


@section ('glassfilm')

            <section class="lattest-product-area pb-40 category-list">
                    <div class="row">
                        <!-- single product -->
                        @foreach($filterResult as $glass)



                    <div class="col-lg-3 col-md-6">
                            <div class="single-product">
                                @foreach(json_decode($glass->image) as $key=>$image)
                                    @if($loop->first)
                                        <a href="{{url('/glassfilm/'.$category->category.'/'.$glass->id)}}"><img class="img-fluid" src="{{asset('storage')}}/{{$image}}" alt="" style=" width: 263px; height: 280px "></a>
                                    @endif
                                @endforeach
                                <div class="product-details">
                                    <h6>{{ $glass->name  }}</h6>
                                    <div class="price">
                                        <h6>&#x20B9;{{ $glass->price - ($glass->price * $glass->discount )/100 }}/sqft</h6>
                                        <h6 class="l-through"> &#8377;{{ $glass->price }}/sqft</h6>
                                    </div>
                                    <div class="prd-bottom">

                                        <a href="" class="social-info">
                                            <span class="ti-bag"></span>
                                            <p class="hover-text">add to bag</p>
                                        </a>

                                        <a href="" class="social-info">
                                            <span class="lnr lnr-move"></span>
                                            <p class="hover-text">view more</p>
                                        </a>
                                    </div>
                                </div>
                            </div>
                    </div>

                    @endforeach
                        <!-- single product -->
                    </div>
                </section>

@endsection

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    您好,尝试在您的刀片上使用此代码

    @if (session('status'))
    <div class="alert alert-success">
        {{ session('status') }}
    </div>
    @endif
    

    【讨论】:

      【解决方案2】:

      使用

      return redirect()->back()->with('success', 'Success');
      

      然后在你的刀片中。

      @if (Session::has('success'))
          <div class="alert alert-success">
              <ul>
                  <li>{{ Session::get('success') }}</li>
              </ul>
          </div>
      @endif
      

      【讨论】:

      • 它正在重定向,但消息未打印
      【解决方案3】:

      如果您可以显示您的 validate 错误,则将以下块放入刀片文件中。

      @if( count( $errors ) > 0 )
          <div class="alert alert-danger">
              <strong>Whoops!</strong> There were some problems with your input.
                 <ul>
                    @foreach( $errors->all() as $error )
                       <li>{{ $error }}</li>
                    @endforeach
                 </ul>
           </div>
      @endif
      

      在控制器中

      public function checkProduct(Request $request){
      
      $this->validate($request,[
          'area' => 'required',
      ]);
      
      if($request->area <= $request->stock){
      
          return redirect()->back()->with('success', 'The product is available');
      }
      else{
      
          return redirect()->back()->with('success', 'The product is not available');
      }
      
      }
      

      【讨论】:

        【解决方案4】:

        请试试这个

        return redirect()->back()->with('success', 'Success');
        
        @if ($message = Session::get('success'))
        <div class="alert alert-success" role="alert">
          {{ $message }}
        </div>
        @endif
        

        【讨论】:

        • 如何检查我的重定向是否包含消息?
        • 在你的刀片 {{dd(\Illuminate\Support\Facades\Session::all())}}
        • {{dd(\Illuminate\Support\Facades\Session::all())}} 这在我的刀片中没有打印任何内容
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-07
        • 1970-01-01
        • 2020-11-06
        相关资源
        最近更新 更多