视图显示不正确。 Laravel

View not displaying correctly. Laravel

在我的 Laravel 项目中,我设置了一个路由来显示用户的个人资料页面。

Route::get('{id}', ['as' => 'profile', 'uses' => 'UsersController@show']);

这条路线一切正常。但是,我想将路线更改为

Route::get('profile/{id}', ['as' => 'profile', 'uses' => 'UsersController@show']);

当我执行此操作并导航到 my.app:8000/profile/1 时,我的 css 和 html 没问题,但我的 link 和 jquery 图像损坏了不再有效

我也试过了

Route::get('/profile/{id}', ['as' => 'profile', 'uses' => 'UsersController@show']);

我正在使用 src="{{URL::asset("images/users/xxxxxxx")}}" 加载我的图像以及 jquery

我的路线文件中没有其他地方有 profile/

的路线

不确定我能做什么。有人知道解决这个问题的办法吗?

编辑:

这是我的 html:

<!doctype html>
<html>
    <head>
    <meta charset="utf-8">
            <!--Main Style Sheet-->
            {{ HTML::style('css/style.css'); }}
            <!-- JQuery -->
            <script src="/jquery/jquery-1.11.0.js"></script>
</head>

<body class="main-body">
<!-- this image works now that i added the leading / -->
<img src="{{ URL::asset("/images/users/{$user->id}/profilePictures/176thumb-{$user->profilePicture->url}") }}" alt="{{ $user->first_name }} {{ $user->last_name }} Profile Picture" width="176" height="176">

<!-- the jQuery For this is not working -->
<ul class="list-grid">
    <li>
        <div class="profile-example">
            <div class="add-box"></div>
        </div>
    </li>

</ul>

<!-- Include woodmark. This is the jquery plugin that isn't working -->
<script src="/jquery/jquery.wookmark.js"></script>
<!--Woodmark settings-->  
<script type="text/javascript">
    (function ($){
      $(function() {
        var $handler = $('.list-grid li');

        $handler.wookmark({
            // Prepare layout options.
             align: 'center',
             autoResize: true,
             comparator: null,
             container: $('html'),
             direction: undefined,
             ignoreInactiveItems: true,
             itemWidth: 560,
             fillEmptySpace: false,
             flexibleWidth: true,
             offset: 8,
             onLayoutChanged: undefined,
             outerOffset: 0,
             possibleFilters: [],
             resizeDelay: 50,
             verticalOffset: undefined
        });
      });
    })(jQuery);
  </script>

</body>
</html>

我认为这是您的 JS/image 路径的问题,而不是 Laravel。当您包含 jQuery/images 时,听起来您正在使用 relative 路径,如下所示:

<script src="jquery/jquery.js>
<img src="img/image.jpg">

当您以这种方式调用资源时,如果您在根级别,它将查找 http://example.com/img/image.jpg,但如果您在 /profile,它将查找 http://example.com/profile/img/image.jpg.

如果在前面加斜杠,那么路径总是从web根目录开始:

<script src="/jquery/jquery.js>
<img src="/img/image.jpg">

如果您的 CSS 没问题,那么我怀疑您已经在使用绝对路径了。

我用了

{{ HTML::script('jquery/jquery.js'); }}

而不是

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

现在一切正常