javascript (jQuery)未捕获的引用错误:$未在Laravel中定义[重复]

13z8s7eq  于 2023-02-15  发布在  Java
关注(0)|答案(5)|浏览(128)
    • 此问题在此处已有答案**:

JQuery - $ is not defined(36个答案)
六年前关闭了。
此帖子已在11小时前编辑并提交审阅,未能重新打开帖子:
原始关闭原因未解决
查询

<script src="http://localhost/project/public/plugins/jQuery/jquery-2.2.3.min.js"></script>

我的代码

<script type="text/javascript">
        function readURL(input){
          if(input.files && input.files[0]){
            var reader = new FileReader();
            reader.onload=function(e){
              $('#showimages').attr('src', e.target.result);
            }
            reader.readAsDataURL(input.files[0]);
          }
        }
        $("#inputimages").change(function(){
          readURL(this);
        });
        </script>

        <img src="" id="showimages">
        <input type="file" name="images" id="inputimages">

我得到了这个错误
未捕获引用错误:$未在http://localhost/project/public/user/1/edit:308:9中定义

  • 第308行-〉$("#inputimages").change(function(){

我是js和jquery新手,请帮我解决这个错误...
我把脚本写出了这一节。这就是错误发生的原因,看我的答案。

ddhy6vgd

ddhy6vgd1#

谢谢大家!
这个错误被解决了,在. blade.php laravel我必须写

@section('script')
<script type="text/javascript">
//my code here
</script>
@endsection
zwghvu4y

zwghvu4y2#

要使用Jquery,请记住在使用之前必须导入

你的问题是你的Jquery看起来没有被导入。也许你的路径不正确或者你在你的脚本之后导入了它。
首先,用你的浏览器检查这个网址http://localhost/project/public/plugins/jQuery/jquery-2.2.3.min.js,如果它存在,你会看到很多javascript代码。
然后从本地服务器导入。

<script src="http://localhost/project/public/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script>
      //your script here.
</script>

使用cdn的另一种选择:

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script>
     //your script here
</script>
zdwk9cvp

zdwk9cvp3#

看起来jQuery在执行脚本时没有加载。
您应该在使用jQuery的脚本之前加载它。

9bfwbjaz

9bfwbjaz4#

1.在页面完全加载之前,JavaScript正在运行。
1.您可以加载另一个插件,它可能已经覆盖了$变量。
1.您的JavaScript文件未正确加载到页面中(请检查脚本路径并尝试直接在浏览器上打开链接)。
确保所有javascript代码都在代码块中运行,例如:

$(document).ready(function () {
  //your code
});

(function($){ })(jQuery);

或者等效的纯JavaScript代码。

6vl6ewon

6vl6ewon5#

代码中可能存在两个潜在问题。
1.你不需要把你的代码放在使用它的脚本之前。(从浏览器检查你的视图源代码)
1.您可以导入另一个jQuery库。
如果导入了两个不同的jQuery库,则可以使用noConflict()求解
例如

<script type="text/javascript">
    j = $.noConflict();
    function readURL(input){
      if(input.files && input.files[0]){
        var reader = new FileReader();
        reader.onload=function(e){
          j('#showimages').attr('src', e.target.result);
        }
        reader.readAsDataURL(input.files[0]);
      }
    }
    j("#inputimages").change(function(){
      readURL(this);
    });
  </script>

尝试我的更新答案。假设你有主布局文件。

<head>
 <script src="{!! asset('plugins/jQuery/jquery-2.2.3.min.js') !!}"></script> 
 <script src="{!! asset('bootstrap/js/bootstrap.min.js') !!}"></script>
 <script src="{!! asset('plugins/select2/select2.full.min.js') !!}">    </script> 
 <script src="{!! asset('plugins/slimScroll/jquery.slimscroll.min.js') !!}"></script> 
 <script src="{!! asset('plugins/fastclick/fastclick.js') !!}"></script>     
 @yield('script')

<body>
    @yield('content')
     <script src="{!!asset('plugins/datatables/jquery.dataTables.min.js')!!}"></script> 
</body>
 </head>

相关问题