如何在全局设置jquery cdn?

时间:2017-04-20 13:50:28

标签: javascript php jquery laravel laravel-5.3

我把jquery cdn放在

  

C:\ XAMPP \ htdocs中\ mysystem \资源\视图\布局\ app.blade.php

像这样:

<html>
<head>
    ...
    @yield('css')
</head>
<body class="skin-blue sidebar-mini">
    ...
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    ...
    @yield('scripts')
</body>
</html>

所以它可以在任何地方使用

但执行时:

  

C:\ XAMPP \ htdocs中\ mysystem \资源\视图\用户\ index.blade.php

这样的代码:

@extends('layouts.app')
@section('content')
    <section class="content-header">
        ...
    </section>
    <div class="content">
        ...
    </div>
    <script type="text/javascript">
        $(function() {
           ...
        });
    </script>
@endsection

存在错误:

  

未捕获的ReferenceError:$未定义

为什么会出现错误?而我在app.blade中添加了jquery cdn

2 个答案:

答案 0 :(得分:1)

问题是jQuery尚未加载,因为内容是在jQuery之前插入的。 您应该将javascript移到scripts部分。

@extends('layouts.app')
@section('content')
    <section class="content-header">
        ...
    </section>
    <div class="content">
        ...
    </div>
@endsection
@section('scripts')
    <script type="text/javascript">
        $(function() {
           ...
        });
    </script>
@endsection

答案 1 :(得分:1)

正如许多评论所指出的那样,在调用自己的javascript之前,你没有加载jquery。我会使用javascript部分并将您的页面设置如下。

<强>布局

<html>
<head>
    ...
    @yield('css')
</head>
<body class="skin-blue sidebar-mini">
    @yield('content')
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    ...
    @yield('scripts')
</body>
</html>

刀片模板

@extends('layouts.app')
@section('content')
    <section class="content-header">
        ...
    </section>
    <div class="content">
        ...
    </div>
@endsection

@section('javascript')
    <script type="text/javascript">
        $(function() {
           ...
        });
    </script>
@endsection