jquery的load方法
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于jquery的load方法内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在jquery的load方法相关知识领域提供全面立体的资料补充。同时还包含 j2ee是什么、jar格式、java 的知识内容,欢迎查阅!
jquery的load方法相关知识
-
JQuery加载html网页在ASP.NET MVC环境中,使用jQuery脚本去实现加载html网页。一般情况之下,在ASP.NET MVC项目中,你不能在~/Views目录之下添加或是创建任何html为后缀的网页。但这也不是绝对。因此下面的例子,Insus.NET会在项目中创建另一个目录来存储html网页。 下面想在一个视图中去实现动态加载上面的html网页。首选添加一个控制器: 在视图中,可以简单实现,使用jQuery的load()方法:预览:
-
js加载前显示loading(页面加载前) 工作中遇到,需要加loading。1、用jquery的load方法读取页面,页面读取完成前显示loading。2、首页js等加载过慢,页面加载完成前显示loading。 (1).jquery .load()方法,load完成前显示loading <!--main_loading的html--><div id="main_loading" style="display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#f8f8f8;opacity:0.6;z-index:1000;"> &n
-
js加载前显示loading(页面加载前) 工作中遇到,需要加loading。1、用jquery的load方法读取页面,页面读取完成前显示loading。2、首页js等加载过慢,页面加载完成前显示loading。 (1).jquery .load()方法,load完成前显示loading <!--main_loading的html--><div id="main_loading" style="display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#f8f8f8;opacity:0.6;z-index:1000;"> &n
-
jQuery应用load()方法后js失效的问题分析与解决load()方法算是最简单的ajax了,非常方便,不过也有一些难以理解的地方。比如不久前我出现了这样一个问题:我的代码高亮是用pretty,它的特点是不破坏源代码,用js动态使代码着色,在载入正文后使用prettyPrint()函数使代码高亮生效。我在另一个页面使用jQuery中的load()方法载入此页面的正文,但是代码区的高亮消失了,也就是说js代码未运行。这是可以理解的,因为load()方法并未运行原网页,而是将其当做数据传输,js根本未启动。但是我在后面又加上prettyPrint()也依然没效果,再查看源代码才发现一个重要的问题:load()方法并未改变源代码,根本看不到我们load过来的正文内容。我又使用find().is()来查找代码区的<pre>标签也显示没有。一段不存在的内容,应用prettyPrint()当然没效果了。那么,load过来的内容到底去哪儿了呢?它真的不存在于任何地方吗?不是这样的。后来我想到了曾看过的一个load()方法的教程里,讲的callback,这个以前我
jquery的load方法相关课程
jquery的load方法相关教程
- 2.简单的 load load(url, [data], [callback])load 是 jQuery 一个非常便捷的 Ajax 交互方法,从接口文档上看,load 方法接受三个参数,分别是 url,发送的参数以及响应结果的回调函数。实际上,后两个参数我们也常常可以忽略。我们先来看一个简单的例子:假设我们要在页面中插入一个从后端请求回来的数据,那么我们会怎么做?有同学非常聪明,可能会说:我先启用 ajax ,发送 GET 请求,在成功的时候回调函数里面再操作页面的元素对象,为 innerHTML 赋值结果。是的,基本流程就是查询之后再操作元素添加数据即可。但是,jQuery 的 load 可能更加简单哦。不信请看:
- 2.2 测试 load() 方法 把上面测试实例中的 get() 方法换成 load() 方法。且运行实例:Student stu=null;try{ // 打开事务 transaction = session.beginTransaction(); //查询学号为1的学生 stu=(Student)session.load(Student.class, new Integer(1)); System.out.println("--------------输出学生信息------------------"); System.out.println(stu.getStuName()); transaction.commit();} catch (Exception e) { transaction.rollback();} finally { session.close();}System.out.println("***********关闭Session之后******************");System.out.println(stu.getStuName());控制台上查看实例使用结果:--------------输出学生信息------------------Hibernate: selectstudent0_.stuId as stuId1_0_0_,student0_.stuName as stuName2_0_0_,student0_.stuPassword as stuPassw3_0_0_,student0_.stuPic as stuPic4_0_0_,student0_.stuSex as stuSex5_0_0_ fromStudent student0_ wherestudent0_.stuId=?Hibernate是老大***********关闭Session之后******************Hibernate是老大得到什么结论了吗?现在开始寻找区别。不仔细观察,会误判没有什么区别。而其中有一个很明显的区别就是:调用 load ( ) 方法时,Hiberante 并没有真正的行动,只有当执行到下面代码时:System.out.println(stu.getStuName());Hibernate 才从容不迫地构建 Sql 语句,往数据库跑了一趟,获得数据,再输出数据。OK!再稍微改动一下测试代码://会话对象Student stu=null;try { // 打开事务 transaction = session.beginTransaction(); //查询学号为1的学生 stu=(Student)session.load(Student.class, new Integer(1)); transaction.commit();} catch (Exception e) { transaction.rollback();} finally { session.close();}System.out.println("***********关闭Session之后******************");System.out.println("--------------输出学生信息------------------");System.out.println(stu.getStuName());输出学生信息并不是在调用 load( ) 方法之后,而是关闭 Session 对象之后,结果又会怎样?猜得出来吗?把你心中的猜想和下面的输出结果比较一下。没想到吧,抛异常啦,抛异常没什么大惊小怪的,异常是为了告诉你错误原因。查看异常信息,从中找出原因:org.hibernate.LazyInitializationException: could not initialize proxy - no Sessionat org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:164)at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:285)at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)省略其它若干……不要望而生畏,都是纸老虎。找出关键词:could not initialize proxy - no Session初看字面意思:不能初始化代理,没有 Session 对象。什么意思?到了好好解释这个原因的时候:调用 load( ) 方法时,Hibernate 根本没有如你所期望一样,往数据库跑。但是又不想让你知道它没去,或是怕你担心它是否能完成这份工作。于是 Hibernate 为你提供了一个 代理对象。这里会涉及到代理设计模式!为不影响主题学习,代理设计模式相关内容自己了解一下。什么是代理对象?通俗讲就是说外观和开发者所期望的对象一样,但没有实质性数据。再通俗点,就是一个替身。有其外形,而无内涵。再通俗讲:哦,你已经明白了。Hibernate 这是演的哪一出?这不是摆明欺负人吗?别误会,这是 Hibernate 的善意之举!善意从何谈起呀!别急!只有当开发者真正需要数据时:System.out.println(stu.getStuName());Hibernate 才会构建 Sql 语句,往数据库跑一趟,获得真正的数据。但是,执行 Sql 语句是一定要在 Session 的生命周期之内,如果:session.close();通往数据库的桥梁被拆了。Hibernate 也无能为力,只能以异常的方式告诉你:no Session!臣妾做不到呀。测试 get()、load() 方法的输出结果已经表明了两者的差异性:get() 方法言行一致,说出手呀便出手。开发者一调用,便快马加鞭,从数据库中获得数据,保存到学生对象中,只要学生对象在,数据也就在;load() 方法,看起来倒像是说一套,做一套的主。并不会立马行事,而是创建一个学生代理对象,提供和开发者期待的学生数据对象相同的方法接口,不影响开发者调用。只有当开发者真正需要数据时,才会说,好的,我去看一下数据库。故而,使用 load() 时就需要特别注意,在 Hibernate 取数据库之前,千万别关闭通向数据库的桥梁:Session 对象。Session 家里有 2 个可用于查询的兄弟:get() 是老实人,言行一致。load() 有点小调皮,有时搞点恶作剧,但心思并不坏。如果真正理解它的意图,在特定的环境下,可能会感动到你。其实两兄弟都很有趣。
- jQuery jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.(jQuery 官方介绍)
- 1.引入 Jquery 因为我们使用的 Ajax 方法是 jQuery 提供的,因此我们需要在页面中引入 jQuery 脚本。<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.js"></script>Tips: 注意 jQuery 脚本要放在使用到 jQuery 的脚本之前,这样才可以在我们的页面中愉快的玩耍~
- 1.jQuery Ajax 这个技术在前面章节有独立章节进行讲解。事实上,$.ajax 是基于原生 XMLHttpRequest 进行了封装,并且提供了一套高度统一的设计和编程接口。在我们的代码中,我们一般都这样写:$.ajax({ method: 'POST', url: url, data: data, success: function () {}, error: function () {}});或者结合 deferred 的写法:$.ajax({ url: url, method: 'GET', data : data}).done(data => { // code}).fail(err => { // code})不吹不黑,jQuery 提供的这一套 Ajax 工具方法真的非常优秀,并且经历了这么多年的打磨,其稳定性、成熟度自然不必多言。关于 jQuery 的 Ajax 工具方法的优点,在前面章节已经讲过。至少从使用体验上来讲,简单易用,功能齐全,以至于我身边至今依然有很多开发者在使用这一套工具函数。然而,随着技术的发展,jQuery 也逐步走向一个衰弱的过程。越来越多的前端开发者开始使用诸如 Angular、React 和 Vue 这样的新型框架。想像一下,如果我们在一个基本用不到 jQuery 的技术中进行前端开发,为了要使用 jQuery 的 Ajax 相关方法而强行引入整个 jQuery,这显然是不现实也不可取的。在更新的技术中,我们将寻求体积更小,更为先进的类库。
- 3. 使用 jQuery jQuery 使用 $ 或者 jQuery 来生成一个 jQuery 对象,这里统一使用 $。1167$ 可以接受一个 CSS 规范的选择器,用来选择元素,html 方法相当于设置 DOM 节点的 innerHTML 属性。在 DOM 相关章节有提到,如果使用 querySelector 来选择节点,碰到节点不存在的情况下,会返回 null,这样就需要一层判断, jQuery 已经处理好了这些情况。<div>DOM节点</div><div class="element"></div><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script><script> $('.ele').html('<p>这里是用 jQuery 插入的 HTML</p>'); console.log('不会影响正常程序执行');</script>其可以接受的参数不仅仅是 CSS 选择器,也可以是一个原生 DOM 节点,一段 HTML 字符串等。jQuery 选择 $ 作为作为入口名称,一部分是因为简单,原生 DOM 提供的选择 DOM 节点的方法都是一长串,另一个原因是 $ 本身的发音 dollar 和 DOM 的发音接近。
jquery的load方法相关搜索
-
j2ee
j2ee是什么
jar格式
java
java api
java applet
java c
java jdk
java list
java map
java script
java se
java socket
java swing
java switch
java web
java xml
java 程序设计
java 多线程
java 环境变量