Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel7-为什么在我实现中间件后Toastr突然停止显示?_Php_Laravel_Plugins_Routes_Toastr - Fatal编程技术网

Php Laravel7-为什么在我实现中间件后Toastr突然停止显示?

Php Laravel7-为什么在我实现中间件后Toastr突然停止显示?,php,laravel,plugins,routes,toastr,Php,Laravel,Plugins,Routes,Toastr,我在这里使用了一个Toastr插件,它在我实现Toastr的项目的所有部分都能很好地工作(所有这些都是在我所有的控制器中实现的) 但是,当我试图将我的所有web路由放在一个中间件中时,它们停止了显示,尽管在控制台、开发人员工具(网络选项卡)和laravel日志文件中没有显示任何类型的错误或消息。它们只是不显示 我对这个问题的唯一提示是中间件,因为我有一个旧项目的副本(就在我实现中间件之前),并且旧项目中的所有toastr都可以正常工作 以下是我的路由的全部代码,其中实现了中间件(web.php)

我在这里使用了一个Toastr插件,它在我实现Toastr的项目的所有部分都能很好地工作(所有这些都是在我所有的控制器中实现的)

但是,当我试图将我的所有web路由放在一个中间件中时,它们停止了显示,尽管在控制台、开发人员工具(网络选项卡)和laravel日志文件中没有显示任何类型的错误或消息。它们只是不显示

我对这个问题的唯一提示是中间件,因为我有一个旧项目的副本(就在我实现中间件之前),并且旧项目中的所有toastr都可以正常工作

以下是我的路由的全部代码,其中实现了中间件(web.php):

当我尝试使用
dd()
时,它显示了Toastr返回的内容,并找到了它应该返回的值(我没有发现错误或警告消息)。同样,唯一的问题是它不显示toastr

以下是我在其中一个控制器中实现的Toastr:

Toastr::success('Product created Successfully', 'Success');
return redirect()->route('product.index');
我的布局文件(
'layouts.backend.app'
)包含toastr所需的脚本和css文件(首先加载JQuery,然后加载bootstrap-toastr-css和JS文件)。我还将
{!!toastr()->render()!!}
包含在每个刀片文件使用的
@extends('layouts.backend.app')

我一直在搜索与此问题相关的内容,但尚未找到任何内容。 这可能是什么真正的原因?我如何解决这个问题

更新:

在调试过程中,我发现当使用
返回视图()
时,它可以工作,但当涉及到
返回重定向()->路由(“”)
返回重定向()->back()它不显示

更新(2021年2月3日):

这个问题似乎与我在routes(
web.php
)中使用的中间件有关,仍然不知道如何在不删除中间件的情况下修复它。

根据link的参考,问题可能是因为StartSession中间件。尝试在kernel.php中重新排序中间件,或者可能有其他包导致问题,因为根据上面的链接,Spatial Google Tag Manager导致会话出现问题。可能容器中覆盖了类的某个配置

因此,如果您可以提供composer.json,我们就可以找到导致问题的包。问题可能是导致会话出现问题的其他包

还可以尝试将config/app.php中的toastr服务提供程序重新排序到最后一个位置

如果这些作品中没有一个尝试使用这个:

根据link中的引用,那么问题可能是因为StartSession中间件。尝试在kernel.php中重新排序中间件,或者可能有其他包导致问题,因为根据上面的链接,Spatial Google Tag Manager导致会话出现问题。可能容器中覆盖了类的某个配置

因此,如果您可以提供composer.json,我们就可以找到导致问题的包。问题可能是导致会话出现问题的其他包

还可以尝试将config/app.php中的toastr服务提供程序重新排序到最后一个位置


如果没有这些作品,请尝试使用以下内容:

您能将中间件的代码添加到问题中吗。@请记住,它已经包含在内:)不包含
用户\中间件的代码。那个中间件是做什么的?它不是,请在问题中添加你的中间件类的代码。。我已经为UserMiddleware添加了源代码。:)您能否将中间件的代码添加到问题中。@Remul它已经包括在内:)不包括
user\u middleware
的代码。那个中间件是做什么的?它不是,请在问题中添加你的中间件类的代码。。我已经为UserMiddleware添加了源代码。:)
<?php

namespace App\Http\Middleware;
use Closure;

class UserMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (!$request->user())
        {
            return redirect('unauthorized');
        }
        return $next($request);
    }
}
Toastr::success('Product created Successfully', 'Success');
return redirect()->route('product.index');