【问题标题】:jQuery ajax load not a functionjQuery ajax 加载不是函数
【发布时间】:2018-02-10 17:28:57
【问题描述】:

这个例子

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<div id="test"></div>
<script>
$(document).ready(() => {
  $('#test').load('doesntmatter');
});
</script>

在我看来,它与ajax load function 的示例相同。正如代码 sn-p 可以告诉你的那样,它实际上会出错

Uncaught TypeError: $(...).load is not a function

我做错了什么?

【问题讨论】:

    标签: jquery ajax jquery-load


    【解决方案1】:

    https://code.jquery.com/jquery-3.2.1.slim.min.js 是 jquery 的精简版,不包含 ajax。 slim 是 Express 服务器中包含的默认版本。在https://code.jquery.com/jquery-3.2.1.min.js使用完整版的jquery

    【讨论】:

      【解决方案2】:

      这是从 jquery download page (https://jquery.com/download/) 下载 jquery 的屏幕截图
      很容易注意到这条线。
      由于很多人都在使用jquery ajax,也许他们应该将文件重命名为jquery-slim-no-ajax.js

      【讨论】:

        【解决方案3】:

        首先,请确保您的 js 代码后不包含 jquery 库! 使用 bootstrap 时尤其要小心!

        我遇到了问题 - 我没有看到 footer.php 中的引导代码部分,它有另一个 jquery 库 - 这导致了问题。

        【讨论】:

          【解决方案4】:

          我找到了这个脚本链接,可以在包含 ajax 库的 HTML 中发布:

          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
          

          试试看。加载功能有效。

          【讨论】:

            【解决方案5】:

            JQuery 格式错误:

            $(document).ready(function() {
                    $('#test').load('doesntmatter');
                });
            

            然后在你的目录或类似的加载参数中添加一个页面名称

            • 还要确保您的脚本是最新的功能版本

            【讨论】:

            • 删除 .load 并添加 alert('test'); 可以吗?如果不是,您的脚本文件没有为 JS 加载,但 => 不是有效的语法,所以这也是一个错误。
            • 是的,使用 'alert' 代替工作。 => 是valid javascript syntax
            • 无论如何,将其更改为您的语法会产生相同的错误。
            • $ undefined 仅在您的脚本 src 未导入或您搞砸了函数时显示。使用这个&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"&gt;&lt;/script&gt;
            • 那行得通。似乎 code.jquery.com 正在分发一个损坏的 jquery 版本。如果您想修改对上一条评论的答案,我会将其标记为答案。
            【解决方案6】:

            请试试这个

            $(document).ready(function(){
                $("button").click(function(){
                   $("#div1").load("demo_test.txt #p1"); 
                });
            });
            

            【讨论】:

            • “你的语法错误”——不,不是。它只是使用 ES6 箭头函数。
            【解决方案7】:

            尝试不使用 JQuery

            这将确保在使用之前加载 JQuery。

            window.addEventListener("load", function(event) {
              $('#preloader').delay(400).fadeOut(500);
              // Do what you want, the window is entirely loaded and ready to use.
            });
            

            加载整个页面时触发 load 事件,包括所有相关资源,例如样式表图像。这与 DOMContentLoaded 不同,后者在页面 DOM 加载后立即触发,无需等待资源完成加载。

            Mozilla 文档:load event

            编辑:根据不混淆 window.loadedjquery.load

            的问题

            首先,将 jquery.slim 更改为 jquery,就像之前的响应一样

            其次,将原生事件处理程序用于现代浏览器的最佳实践(在我看来)

            // To be sure $ is defined
            // Window loaded event
            window.addEventListener("load", function(event) {
            
              // Now $ or JQuery is completly available
              // Now using JQuery.load() should be defined
              $('#test').load('doesntmatter');
            
              // Do what you want, the window is entirely loaded and ready to use.
            });
            

            【讨论】:

            • api.jquery.com/load是jQuery中的AJAX函数> 3.本题与load事件无关。
            • 我的反应还是一样,因为我上周遇到了同样的问题(以前从未有过),这是解决我的问题的唯一简单且原生的解决方案。 2 个浏览器,同样的问题 function ($ what you want) is not a function 我已经尽力了。 ready 是文档准备就绪而不是窗口。在 JQuery 中:$( window ).on( "load"... 但是如果 $ 没有定义你会怎么做!?所以一个案例 $ 没有定义,其他案例函数没有定义。无论如何我都有测试(页眉,页脚......),对我来说,窗口必须在使用前检查 jquery 是否正确加载。
            • 注意:我已经更改了 slim 等,并在发布之前的 2 小时内测试了所有解决方案(我想知道原因)。 我知道某处有问题在我的页面中,我认为是分析和新的隐私规则或类似的东西。也许这可以帮助某人不要像以前那样浪费时间。
            • @IBaff,我理解你的回答,你的权利是不一样的:)谢谢你准确地说:)
            【解决方案8】:

            这是一个很好的建议,我遇到了 jquery .load 函数和其他未加载函数的相同问题,因此请确保您在每个页面中使用相同的 jquery 路径(相同的版本),它会工作得很好。

            【讨论】:

              【解决方案9】:

              jQuery ajax 加载不是函数

              使用以下网址
              src='https://code.jquery.com/jquery-3.2.1.min.js'

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2020-10-15
                • 2011-02-17
                • 1970-01-01
                • 2017-06-04
                • 1970-01-01
                • 1970-01-01
                • 2013-05-15
                相关资源
                最近更新 更多