【问题标题】:Laravel 5.1 - Javascript not loadedLaravel 5.1 - 未加载 Javascript
【发布时间】:2016-01-28 09:44:22
【问题描述】:

我的应用通过导航从ajax 请求中获取views。 因此,当我单击菜单中的链接时,我会检索我的 view 包含的所有 Html

我的javascript 包含在主要的template 中,当然我的所有呼叫都有效。 但是,一旦我需要例如在特定视图中创建 animated filter gallery,该视图的 javascript 将不起作用。

这就是我组织应用程序的方式:

我的模板

<!-- !Doctype -->
@include('partials.doctype')

<!-- Menu -->
@include('partials.menu')

<!-- Cont -->
<section id="content-wrapper">
    @include('ajax.index')
</section>

<!-- Footer -->
@include('partials.footer')

<!-- Javascript -->
@include('partials.javascript')

</body>
</html>

我的控制器(如果有一个 ajax 调用,我会在没有 @extends() 和 @section() 的情况下检索视图,否则我会检索我的完整视图):

// load page
public function loadPage($page){
    return (\Request::ajax()) ? view('ajax.'.$page)->render() : view('pages.'.$page);
}

我的看法:

出于我的目的,我创建了 2 种类型的视图,一种是扩展的,另一种只有我需要的 ajax 调用中的 html。

a) 扩展,位于“pages”文件夹中:

@extends('main')
@section('cont')

@include('ajax.shop')

@stop

b) 仅用于 ajax 调用的 html,位于“ajax”文件夹中:

<div class="content">
    <div class="container-fluid">
        <div class="row page-title-box">
            <h3 class="page-number">N. 67</h3>
            <h1 class="page-title">Shop</h1>
        </div>
    </div>
</div>

如果我需要实现animated filter gallery,我不知道该把javascript 放在哪里。我尝试将 javascript 放入视图中,但我的应用程序崩溃了。

【问题讨论】:

    标签: javascript ajax laravel laravel-5 laravel-5.1


    【解决方案1】:

    您的 javascript 应该位于 public/js 等文件夹中的公用文件夹中。

    然后在您的 partials.javascript 中包含您的 js: &lt;script src="/js/main.js"&gt;&lt;/script&gt;

    【讨论】:

    • 在 partials.javascript 里面有我所有的 javascript。但是没有为我通过 ajax 检索的视图中的元素加载我的特定功能
    • 您的文件命名正确吗?您的 javascript 文件将位于 resources/views/partials 文件夹中并命名为 javascript.blade.php
    猜你喜欢
    • 2023-03-06
    • 2016-04-29
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2016-01-24
    • 2015-11-16
    相关资源
    最近更新 更多