首页也就是商品列表页面变成空白了

如题,我昨天把商品模块这一部分学完,代码和页面效果都是正常的。但是,今天打开却发现首页变成了空白页面,没有任何报错,就是一个空白页面,如图:
file
检查了代码,没有发现错误。而且,只有首页也就是商品列表页面是这样的,其他的,商品详情页面,收货地址页面,商品收藏列表等都是正常的。

系统: Windows10,环境: homestead。
现在不知道该如何排查了,请 @leo 指点一下。下面再贴一些代码:

商品列表,index 方法:

public function index(Request $request)
{
    // 构建一个查询构造器
    $query = Product::query()->where('on_sale', true);
    // 判断是否提交了 search 参数,如果有就赋值给 $search
    // search 参数用来模糊搜索商品
    if ($search = $request->input('search', '')) {
        $like = '%' . $search . '%';
        // 模糊搜索商品标题、商品详情、sku 标题、sku 描述
        $query->where(function ($query) use ($like) {
            $query->where('title', 'like', $like)
                ->orWhere('description', 'like', $like)
                ->orWhereHas('skus', function ($query) use ($like) {
                    $query->where('title', 'like', $like)
                        ->orWhere('description', 'like', $like);
                });
        });
    }

    // 是否提交了 order 参数
    if ($order = $request->input('order', '')) {
        // 是否已 _asc 或 _desc 结尾
        if (preg_match('/^(.+)_(asc|desc)$/', $order, $m)) {
            // 如果字符串的开头是以下这 3 个字符串之一
            if (in_array($m[1], ['price', 'sold_count', 'rating'])) {
                // 根据传入的值来构造排序参数
                $query->orderBy($m[1], $m[2]);
            }
        }
    }

    $products = $query->paginate(16);

    return view('products.index', [
        'products' => $products,
        'filters' => [
            'search' => $search,
            'order' => $order,
        ],
    ]);
}

路由代码:

Route::redirect('/', '/products')->name('root');
// 商品列表
Route::get('/products', 'ProductsController@index')->name('products.index');
// 商品详情
Route::get('/products/{product}', 'ProductsController@show')
    ->name('products.show')
    ->where(['product' => '[0-9]+']);
一切美好的事物都是曲折地接近自己的目标,一切笔直都是骗人的,所有真理都是弯曲的,时间本身就是一个圆圈。 —— 尼采《查拉图斯特拉如是说》
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
leo

打开控制台然后刷新页面,看看 Http 状态是多少,如果是 500 说明报错了,看 Laravel 日志;如果是 200 则右键查看源代码,看看输出了什么。

在就是检查 products/index.blade.php 的内容是不是有问题。

5年前 评论
长日将尽

@leo 我之前在 index.blade.php 中的 js 部分用的是 let,替换了教程的 var ,就是这样: let filters = {!! json_encode($filters) !!};。我刚刚把它改成 var ,刷新页面就正常了。但是我又改回 let ,刷新页面依然正常。感觉不是这个原因啊,可是其他的错误也没找到。但是它现在正常了,真让人费解。总之,谢谢了。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!