【问题标题】:How to call sub blade file inside the main blade file Switch statement in Laravel?如何在 Laravel 的主刀片文件 Switch 语句中调用子刀片文件?
【发布时间】:2025-12-27 13:10:07
【问题描述】:
<html>
<body>
 <script>
     $main_catogery = sessionStorage.getItem('main_cat_name');
         switch ($main_catogery) {
            case "essentials":
                 include('sub-catogery-design.essentials');
                 //@include('sub-catogery-design.essentials');
                 //alert("essentials");
                 break;
            case "electronics":
                 //alert("electronics");
                 break;
        }
   </script>
</body>
</html>

我需要在我的主 .blade 文件 switch 语句中调用外部 .blade 文件,我已经使用了“包含”,但它在脚本标签中不起作用,任何人都可以帮我这样做..?

【问题讨论】:

  • 您将 Javascript 与 PHP 混淆了。一个是客户端和其他服务器端,你不能在客户端“包含”刀片文件......我认为你想使用 VueJs 或 ReactJs 或切换到 AJAX 调用并在那里获取你需要的信息,但它确实是奇怪你想做什么......

标签: php html laravel switch-statement laravel-7


【解决方案1】:
<html>
<body>
   <div id="main_cat_data"></div>
   <script>
     $sessionData = sessionStorage.getItem('main_cat_name');
          const xhr = new XMLHttpRequest();
          const container = document.getElementById('main_cat_data');
                 xhr.onload = function(){
                        switch ($sessionData) {
                                case 'essentials':
                                    container.innerHTML = xhr.responseText;
                                break;
                                case 'electronics':
                                    container.innerHTML = xhr.responseText;
                                break;
                            }
                        };
                        switch ($sessionData) {
                              case 'essentials':
                                  //'view_essentials' my route for view blade file
                                  xhr.open('get', 'view_essentials');
                              break;
                              case 'electronics':
                                  xhr.open('get', 'view_electronics');
                              break;
                      }
                  xhr.send();
   </script>
</body>
</html>

感谢帮助我的人,我解决了我的问题。

【讨论】: