我的學習專案中有一個搜索欄。我將它包含在 navbar.blade.php 中,當測驗它時,我變成了那個 url 結構。
localhost:8890/home?_token=7dKh256Me65Wb0rCvlJWkkk1SKdGrpaRPFCHP7MW&_method=GET&search=test
但控制器沒有呼叫。我需要這個網址才能讓它作業
localhost:8890/search?_token=7dKh256Me65Wb0rCvlJWkkk1SKdGrpaRPFCHP7MW&_method=GET&search=test
我的路線:
Route::get('search', [App\Http\Controllers\ProductController::class, 'search'])->name('search');
產品控制器:
public function search(Request $request)
{
//Get the search vale from the request
$search = $request->input('search');
$products = Product::query()
->where('ean', 'LIKE', "%{$search}%")
->orWhere('manufacturer', 'LIKE', "%{$search}%")
->orWhere('name', 'LIKE', "%{$search}%")
->orWhere('productNumber', 'LIKE', "%{$search}%")
->orWhere('propertie', 'LIKE', "%{$search}%")
->get();
return view('products.search',compact('products'));
}
包括 navbar-search.blade.php
<!-- Right navbar links -->
<ul class="navbar-nav ml-auto">
<!-- Navbar Search -->
<li class="nav-item">
<a class="nav-link" data-widget="navbar-search" role="button">
<i class="fas fa-search"></i>
</a>
<div class="navbar-search-block">
<form class="form-inline">
@csrf
<div class="input-group input-group-sm">
<input type="text" name="search" class="form-control form-control-navbar" placeholder="Search" required>
<div class="input-group-append">
<form action="{{route('search')}}" method="GET">
@csrf
@method('GET')
<button class="btn btn-navbar" type="submit">
<i class="fas fa-search"></i>
</button>
</form>
<button class="btn btn-navbar" type="button" data-widget="navbar-search">
<i class="fas fa-times"></i>
</button>
</div>
</div>
</form>
</div>
</li>
</ul>
uj5u.com熱心網友回復:
正如 Sharma 在之前的評論中所說,您不應該使用嵌套的 2 形式。控制器沒有呼叫,因為第一個表單沒有設定操作。您可以像這樣編輯它:
<ul class="navbar-nav ml-auto">
<!-- Navbar Search -->
<li class="nav-item">
<a class="nav-link" data-widget="navbar-search" role="button">
<i class="fas fa-search"></i>
</a>
<div class="navbar-search-block">
<form class="form-inline" action="{{route('search')}}" method="GET">
<div hljs-string">">
<input type="text" name="search" hljs-string">" placeholder="Search" required>
<div hljs-string">">
<button hljs-string">" type="submit">
<i hljs-string">"></i>
</button>
<button hljs-string">" type="button" data-widget="navbar-search">
<i hljs-string">"></i>
</button>
</div>
</div>
</form>
</div>
</li>
</ul>
uj5u.com熱心網友回復:
為什么你在刀片檔案中創建了 2 個表單并且不需要在 get 請求中添加 @csrf 和 @method 指令
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/421592.html
標籤:
