【问题标题】:Laravel: simple form get request returns 500 errorLaravel:简单的表单获取请求返回 500 错误
【发布时间】:2019-05-18 07:50:03
【问题描述】:

我想提交这个表单,它位于视图“blog”中。现在,当我导航到视图 blog 时,它说错误消息 oops something.. 我收到 500 错误。我找不到错误..

 <form action="{{route('editBlog')}}" id="editForm{{$content->id}}" class="editForm">
                        @csrf
                        <input type="hidden" name="id" value="{{$content->id}}">
                        <input type="hidden" name="text" value="{{$content->content}}">
                        <button type="submit" class="btn-lg btn-dark">
                            <i class="fa fa-pencil" aria-hidden="true"></i>
                        </button>
                    </form>

我的 web.php 路由如下所示:

Route::get('editBlog/{id}/{text}','BlogController@edit')->name('editBlog');

我的控制器看起来像这样:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;


class BlogController extends Controller
{

   function edit($id,$text)
    {
        return view('edit', ['id' => $id, 'content' => $text]);
    }
}

视图edit 存在并且在正确的目录中。

提前致谢!

编辑:当我取出表单的代码时,视图工作正常。

【问题讨论】:

  • 可以添加错误的堆栈跟踪吗?
  • editBlog 路由实际上并没有在你的路由中定义,你的路由是这样的:editBlog/1/2

标签: php html laravel laravel-5


【解决方案1】:

因为您的路线是这样的:editBlog/3/34 而您的表单操作是这样的:editBlog 并且它们彼此不匹配,所以将您的路线更改为这样:

Route::get('editBlog','BlogController@edit')->name('editBlog');

你的编辑功能是这样的:

function edit(Request $request)
{
    return view('edit', ['id' => $request->id, 'content' => $request->text]);
}

【讨论】:

  • 效果很好,谢谢!只是为了我自己的理解,我可以改变动作以匹配我原来的路线吗?类似 action=."{{route('edit/../..')}}
  • @Dom1337 是的,如果您的表单值在客户端发生变化,您可以在客户端通过 js 进行更改,但在您的情况下,您可以通过以下方式进行:action="{{route('editBlog' . '/' . $content-&gt;id . '/' . $content-&gt;content)}}"
【解决方案2】:

您能否尝试转储$text 变量?我认为这只是一个整数,当您期待一个对象时,因为您在视图中调用$content-&gt;id?这样做应该可以解决问题。

<?php   
   function edit($id, Text $text)
   {
       return view('edit', ['id' => $id, 'content' => $text]);
   }

假设您期望一个文本模型?

当发生这种情况时,您应该会在页面上收到错误消息。你能检查你的 .env 文件吗?像这样将您的环境设置为本地:

APP_ENV=local

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 2020-01-17
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多