使用路由参数返回视图不完整且没有 Css [Laravel 5]

Posted

技术标签:

【中文标题】使用路由参数返回视图不完整且没有 Css [Laravel 5]【英文标题】:Using Route Parameter return the view incomplete and without Css [Laravel 5] 【发布时间】:2015-07-10 10:52:51 【问题描述】:

当我使用这条路线时:

Route::get('home', function()

   return View::make('index');
);

网址:

localhost/laravel/public/home

它获得了视图并且运行良好

但是在使用这条路线时:

Route::get('home/id', function($id)

    return View::make('index')->with('id', $id);
);

网址:

localhost/laravel/public/home/10

它是视图,但 不能很好地工作该视图没有任何 CSS、JS、.. 等

我不能在这里定义错误?!

【问题讨论】:

你没有将服务器的文档根目录指向 Laravel 的 public 目录吗? 请说的更清楚一些,我是 laravel 的新手!! 您使用的 HTTP 服务器有一个指令,允许您设置对公共请求可见的目录。这称为文档根。我假设您使用的是Apache 或nginx(因为它们是最常见的),您可以搜索有关如何为其中任何一个配置文档根目录的示例。如果您可以提供有关您的环境 Windows、Linux、OSX 的更多信息,它也可能会有所帮助?您是如何管理软件堆栈的? 还可以尝试将这一行 <base href="http://localhost/laravel/public/"> 添加到页面的 <head> 部分。根据资源路径的定义方式,这可能会解决问题。但是我仍然强烈建议您采用我在之前的 cmets 中建议的方法。 好的,在将这行 localhost/laravel/public"> 添加到 谢谢 :) 【参考方案1】:

是的,我知道这个问题可能已经很晚了,但我也遇到了同样的问题并陷入了同样的境地。 在google上阅读和研究后,我得到了答案。 我希望它可以帮助某人。

出现这个问题是因为我们在blade template中使用了relative path,而solution非常简单,我们只需要使用asset函数就可以解决这个问题。

所以像这样改变你的代码......

<link href=" asset('css/bootstrap.min.css') " rel='stylesheet' type='text/css' />
<script src=" asset('js/jquery.min.js') "> </script>

希望对您有所帮助。

快乐编码:)

【讨论】:

【参考方案2】:

控制器:

public function Details($id)
        $demandes=DB::select('SELECT * FROM demande where id_demande=? ',[$id]);
        $buts=DB::select('SELECT * FROM but where id_demande=? ',[$id]);
        return view('details')->with(array('demandes'=>$demandes ,'buts'=>$buts));
    

Web.php

Route::get('/Details/id','DemandeController@Details')->name('Details');

刀片.php:

@extends('layouts.mainlayout')
@section('content')
//code
@endsection

问题是刀片没有加载css和Js 所以你需要把这段代码放在&lt;head&gt; ----> &lt;base href="/public"&gt;

【讨论】:

【参考方案3】:

运行这个..

php artisan ui bootstrap --auth

来源:Laravel frontend docs

【讨论】:

【参考方案4】:

好的,这是一个旧线程,但这是我的记录解决方案。

我已将 ../ 放在我现有资源的前面,例如

<script src="js/front.js"></script>

成为

<script src="../js/front.js"></script>

【讨论】:

【参考方案5】:

如上所述,不仅针对从刀片中的标头调用的资源,而且为了有效确保刀片中的所有其他资源也使用 asset() 方法进行引用,例如在引用时没有您的页面的图片/视频。

【讨论】:

以上是关于使用路由参数返回视图不完整且没有 Css [Laravel 5]的主要内容,如果未能解决你的问题,请参考以下文章

部分静态路由参数 angular 2

解决视图中的部分/不完整路由

AngularJs视图路由不起作用

网站全栈开发,Java跟PHP选择哪个好些?

vue_cli路由传参个人总结--完整代码

Springboot通过切面校验参数完整性