jQuery ajax加载不是一个函数

问题描述 投票:14回答:5

这个例子

<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的例子相同。正如代码片段可以告诉你的那样,它实际上是错误的

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

我究竟做错了什么?

jquery ajax jquery-load
5个回答
47
投票

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


1
投票

请试试这个

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

0
投票

JQuery格式错误:

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

然后在目录中将页面名称添加到加载参数中

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

0
投票

尽量不要使用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形成对比,DOMContentLoaded在加载页面DOM时立即触发,而不等待资源完成加载。

Mozilla文档:load event

编辑:根据问题,不要混淆window.loaded和jquery.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.
});

-1
投票

在1.8v之后弃用Load方法以供参考: - http://api.jquery.com/load-event/

弃用方法: -

jQuery(window).load(function() {
  $("#loader").fadeOut("slow");
});

替换方法: -

jQuery(window).on("load", function() {
  $("#loader").fadeOut("slow");
});
© www.soinside.com 2019 - 2024. All rights reserved.