Laravel 6.8 PUT 方法不起作用,显示空白页

作者:编程家 分类: laravel 时间:2025-08-11

Laravel 6.8 PUT 方法不起作用,显示空白页

最近,在使用 Laravel 6.8 开发项目的过程中,我遇到了一个问题:PUT 方法在某些情况下不起作用,而且会导致页面显示空白。经过一番研究和尝试,我终于找到了解决方法。在这篇文章中,我将与大家分享这个问题以及如何解决它的过程。

问题描述:

当我在 Laravel 6.8 中使用 PUT 方法进行表单提交时,有时会遇到页面显示空白的情况。这种情况通常发生在更新某个资源的操作中,例如更新用户信息或者更新文章内容。我使用的是 Laravel 的默认路由和控制器,代码如下:

**路由定义:**

Route::put('/user/{id}', 'UserController@update');

**控制器方法:**

public function update(Request $request, $id)

{

// 更新用户信息的逻辑

}

解决方法:

经过调查发现,这个问题是由于 Laravel 6.8 默认的表单提交方式发生了变化所导致的。在 Laravel 6.8 之前,表单提交时会自动添加一个隐藏的 `_method` 字段来指定提交方法。而在 Laravel 6.8 中,这个隐藏字段的名称被修改为 `_method_`,这就导致了 PUT 方法无法正确识别。

要解决这个问题,我们需要手动修改表单提交时的隐藏字段名称。我们可以在表单中添加一个隐藏的 `_method` 字段,并将其值设置为 `"PUT"`。修改后的代码如下:

@csrf

在这个例子中,我将用户信息的更新操作放在了一个表单中。通过添加一个隐藏的 `_method` 字段,并将其值设置为 `"PUT"`,我们可以确保在提交表单时使用正确的请求方法。

在 Laravel 6.8 中,PUT 方法在某些情况下可能不起作用,并导致页面显示空白。这是由于默认的表单提交方式发生了变化,隐藏字段的名称被修改所导致的。要解决这个问题,我们需要手动修改表单提交时的隐藏字段名称,并将其值设置为 `"PUT"`。这样就能正确识别 PUT 方法,并正常完成更新操作。

案例代码:

php

// 路由定义

Route::put('/user/{id}', 'UserController@update');

// 控制器方法

public function update(Request $request, $id)

{

// 更新用户信息的逻辑

}

html

@csrf

通过以上的修改,我们可以解决 Laravel 6.8 PUT 方法不起作用导致页面显示空白的问题,并确保更新操作能够正常进行。希望这篇文章对于遇到类似问题的开发者能够有所帮助。