【问题标题】:No errors but getting a 404没有错误,但得到 404
【发布时间】:2021-12-23 08:52:59
【问题描述】:

我正在开发一个列表目录 Web 应用程序。

在这里,我希望用户(预设为审稿人)能够批准或拒绝客人发布的广告。

我在 revisor 仪表板中完成了以下操作:

<x-layout>
    <div class="container">
        <div class="row">
            <div class="card" style="width: 18rem;">
                <img src=" https://via.placeholder.com/150" class="card-img-top" alt="...">
                <div class="card-body">
                <h5 class="card-title">{{$ad->title}}</h5>
                <p class="card-text">{{$ad->description}}</p>
                <p class="card-text">{{$ad->category->name}}</p>
                <p class="card-text">{{$ad->user->name}}</p>
                <p class="card-text">{{$ad->created_at->format('d/m/Y')}}</p>
                <p class="card-text">{{$ad->price}},00 €</p>
                <a href="{{route('ad.detail' , compact('ad'))}}" class="btn btn-primary">Vai al dettaglio!</a>
                <div class="d-flex justify-content-between mt-3">
                    <form action="post" action="{{route('revisor.accept', $ad->id)}}">
                        @csrf
                        <button type="submit" class="btn btn-success"><ion-icon name="checkmark-outline"></ion-icon></button>
                    </form>
                    <form action="post" action="{{route('revisor.reject', $ad->id)}}">
                        @csrf
                        <button type="submit" class="btn btn-danger"><ion-icon name="trash-outline"></ion-icon></button>
                    </form>
                </div>
                </div>
            </div>
        </div>
    </div>
   
</x-layout>

另外,我在RevisorController 中做了以下操作:

<?php

namespace App\Http\Controllers;

use App\Models\Ad;
use Illuminate\Http\Request;
use App\Http\Controllers\RevisorController;

class RevisorController extends Controller
{
    public function __construct(){

        $this->middleware('auth.revisor');
    }

    public function revisor(){
       $ad=Ad::where('is_accepted',null)->orderBy('created_at','desc')->first();
       return view('revisor', compact('ad'));
        
    }

    public function setAccepted($id,$value){
        $ad=Ad::find($id);
       $ad->is_accepted=$value;
       $ad->save();
       return redirect(route('revisor'));
    
    }
    public function accept(){
      return $this->setAccepted($id,true);
    }
    public function reject(){
        return $this->setAccepted($id,false);
    }
}

在我的Routes 中,我定义了两条发布路线如下:

Route::post('/revisor/ad/{id}/accept',[RevisorController::class,'accept'])->name('revisor.accept');
Route::post('/revisor/ad/{id}/reject',[RevisorController::class,'reject'])->name('revisor.reject');

如上所述,在我看来一切似乎都是正确的,但我不明白为什么当我尝试拒绝或接受广告时,它会返回“未找到 404 页面”。

我注意到请求的 URL 仍然像这样卡住:

http://127.0.0.1:8000/post?_token=Rm5CeNOjKUoOsynv4Nkh0dpxqIJ4AE6OR8Ozxo25

然后,我尝试将几个dd() 放入控制器的功能中,但系统似乎没有将任何功能放入RevisorController

我也试图搜索任何类型的问题的答案,但没有找到任何合适的。

有没有人可以帮我解决这些问题?

【问题讨论】:

  • “我注意到请求的 URL 仍然像这样卡住:”卡住的方式/时间/地点?
  • @Magnus 当我尝试接受/拒绝广告时
  • action="post" ... 好了
  • @lagbox 好的,那是真的,我今天完全完成了......我快疯了
  • 我已经投票关闭它作为一个错字问题。

标签: php laravel routes http-status-code-404


【解决方案1】:

您通过GET 方法访问,而不是POST。你这里有一个错误:

action="post"
<form action="post" action="{{route('revisor.accept', $ad->id)}}">
    @csrf
    <button type="submit" class="btn btn-success"><ion-icon name="checkmark-outline"></ion-icon></button>
</form>
<form action="post" action="{{route('revisor.reject', $ad->id)}}">
    @csrf
    <button type="submit" class="btn btn-danger"><ion-icon name="trash-outline"></ion-icon></button>
</form>

应该:

<form method="post" action="{{route('revisor.accept', $ad->id)}}">
    @csrf
    <button type="submit" class="btn btn-success"><ion-icon name="checkmark-outline"></ion-icon></button>
</form>
<form method="post" action="{{route('revisor.reject', $ad->id)}}">
    @csrf
    <button type="submit" class="btn btn-danger"><ion-icon name="trash-outline"></ion-icon></button>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-23
    • 2017-08-11
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2015-03-26
    • 2023-04-01
    相关资源
    最近更新 更多