Javascript jquery可以在外部js文件中工作,但不能在视图中工作
我使用的是laravel 5.5。当我在外部js文件中使用jquery时,它可以工作,但当我在blade视图中编写jquery时,它会给出一个错误:$notdefined或found。加载app.js文件后,我还通过在布局文件中编写jquery进行了检查,它可以正常工作。Jquery仅在刀片服务器内部不起作用。当我加载Jquery时,Jquery在刀片内部工作。但是,即使在没有加载jquery之后,它在外部js和布局中是如何工作的呢。所以我关心的是,如果jquery默认加载在laravel中,为什么它不能在blade中工作 以下是我的刀片内容:Javascript jquery可以在外部js文件中工作,但不能在视图中工作,javascript,php,jquery,laravel,laravel-5.5,Javascript,Php,Jquery,Laravel,Laravel 5.5,我使用的是laravel 5.5。当我在外部js文件中使用jquery时,它可以工作,但当我在blade视图中编写jquery时,它会给出一个错误:$notdefined或found。加载app.js文件后,我还通过在布局文件中编写jquery进行了检查,它可以正常工作。Jquery仅在刀片服务器内部不起作用。当我加载Jquery时,Jquery在刀片内部工作。但是,即使在没有加载jquery之后,它在外部js和布局中是如何工作的呢。所以我关心的是,如果jquery默认加载在laravel中,为
@extends('layouts.app')
@section('content')
<div class="container">
</div>
@endsection
<script type="text/javascript">
$(document).ready(function() {
alert('lol');
})
</script>
@extends('layouts.app'))
@节(“内容”)
@端部
$(文档).ready(函数(){
警报(“lol”);
})
请务必理解:
这确实有效:
<html>
<header>
<script src="jquery.js"></script>
</header>
<body>
<script>
/* your js inline code here */
</script>
</body>
</html>
/*你的js内联代码在这里*/
但更好的解决方案是:
<html>
<header>
</header>
<body>
<script src="jquery.js"></script>
<script>
/* your js inline code here */
</script>
</body>
</html>
/*你的js内联代码在这里*/
这是行不通的:
<html>
<header>
</header>
<body>
<script>
/* your js inline code here */
</script>
<script src="jquery.js"></script>
</body>
</html>
/*你的js内联代码在这里*/
请务必理解:
这确实有效:
<html>
<header>
<script src="jquery.js"></script>
</header>
<body>
<script>
/* your js inline code here */
</script>
</body>
</html>
/*你的js内联代码在这里*/
但更好的解决方案是:
<html>
<header>
</header>
<body>
<script src="jquery.js"></script>
<script>
/* your js inline code here */
</script>
</body>
</html>
/*你的js内联代码在这里*/
这是行不通的:
<html>
<header>
</header>
<body>
<script>
/* your js inline code here */
</script>
<script src="jquery.js"></script>
</body>
</html>
/*你的js内联代码在这里*/
您的javascript代码在任何部分之外,因此不会呈现。在blade中呈现内联javascript的一种好方法是在布局中使用@stack
,然后从扩展布局的任何视图中推送@push
:
app.blade.php:
<html>
<head></head>
<body>
[...]
@yield('content')
[...]
<script src="jquery.js"></script>
@stack('scripts')
</body>
</html>
@extends('layouts.app')
@section('content')
<div class="container">
</div>
@endsection
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
alert('lol');
})
</script>
@endpush
[...]
@产量(‘含量’)
[...]
@堆栈('脚本')
您的视图(template.blade.php):
@extends('layouts.app'))
@节(“内容”)
@端部
@推送('脚本')
$(文档).ready(函数(){
警报(“lol”);
})
@端推
您的javascript代码在任何部分之外,因此不会呈现。在blade中呈现内联javascript的一种好方法是在布局中使用@stack
,然后从扩展布局的任何视图中推送@push
:
app.blade.php:
<html>
<head></head>
<body>
[...]
@yield('content')
[...]
<script src="jquery.js"></script>
@stack('scripts')
</body>
</html>
@extends('layouts.app')
@section('content')
<div class="container">
</div>
@endsection
@push('scripts')
<script type="text/javascript">
$(document).ready(function() {
alert('lol');
})
</script>
@endpush
[...]
@产量(‘含量’)
[...]
@堆栈('脚本')
您的视图(template.blade.php):
@extends('layouts.app'))
@节(“内容”)
@端部
@推送('脚本')
$(文档).ready(函数(){
警报(“lol”);
})
@端推
您是否将jquery导入页眉或页脚?将您的刀片文件内容发布到此处似乎您的jquery文件是在执行了$…
代码后加载的。不,我没有导入jquery,但它仍然在外部js和布局中工作,但在bladejquery中不工作。jquery在您的app.js
文件中可用。尝试在导入app.js
后放置代码,将jquery导入页眉或页脚会起作用吗?将您的刀片文件内容发布到此处似乎您的jquery文件是在执行$…
代码后加载的。不,我没有导入jquery,但它仍然在外部js和布局中工作,但在BladeQuery中不工作。jquery在您的app.js
文件中可用。在导入app.js
后,尝试放置代码,它将起作用