我正在學習 laravel,但一條路線有問題:
Route::post('/sortby/{id}', [GuestBook::class, 'Sort'])->name('sort');
功能實作:
public function Sort($val = 0, Request $request)
{
$type = '';
foreach ($request->except('_token') as $key => $value) {
$type = $key;
}
$pag_num = 10;
$data = guest_table::where('is_pub', 1);
switch ($type) {
case 'byid':
$data = $data->orderBy('id', 'asc')->paginate($pag_num);
break;
case 'byidDesc':
$data = $data->orderBy('id', 'desc')->paginate($pag_num);
break;
case 'byemail':
$data = $data->orderBy('email', 'asc')->paginate($pag_num);
break;
case 'byemailDesc':
$data = $data->orderBy('email', 'desc')->paginate($pag_num);
break;
case 'byusername':
$data = $data->orderBy('username', 'asc')->paginate($pag_num);
break;
case 'byusernameDesc':
$data = $data->orderBy('username', 'asc')->paginate($pag_num);
break;
case 'bydate':
$data = $data->orderBy('created_at', 'asc')->paginate($pag_num);
break;
case 'bydateDesc':
$data = $data->orderBy('created_at', 'desc')->paginate($pag_num);
break;
default:
break;
}
return view('posts', ['data' => $data]);
}
因此,當我處理按某些欄位排序的發布請求時,我會重定向到http://127.0.0.1/sortby/0。
當我使用分頁器時,我得到了鏈接http://127.0.0.1:8000/sortby/0?page=2并給出了錯誤,這條路線不支持 GET 方法。
我知道當我導航到http://127.0.0.1:8000/sortby/0?page=2時,我會發送一個獲取請求,但我不知道如何解決它(
uj5u.com熱心網友回復:
你有post路線Route::post('/sortby/{id}', [GuestBook::class, 'Sort'])->name('sort');。這就是您收到此錯誤的原因。
只需將其更改為:
Route::get('/sortby/{id}', [GuestBook::class, 'Sort'])->name('sort');
http://127.0.0.1/sortby/0如果您將請求作為請求發送,這可能會引發錯誤 post,第一次,您還必須在前端更改它,并且需要將其作為get請求發送。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/514638.html
上一篇:在laravel9中獲取http://127.0.0.1:8000/route('welcome')而不是http://127.0.0.1:8000/
