详谈jQuery.load()和Jsp的include的区别

1、jqueryObj.load()

load()方法通过ajax获取服务端数据,并将放回数据放置到jqueryObj对象下。

load(url,data,function(response,status,xhr)

参数 描述
url 规定要将请求发送到哪个 URL。
data 可选。规定连同请求发送到服务器的数据。
function(response,status,xhr)

可选。规定当请求完成时运行的函数。

额外的参数:

  • response - 包含来自请求的结果数据
  • status - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror")
  • xhr - 包含 XMLHttpRequest 对象

我们也可以只获取返回数据的部分内容,例如:

$("#a").load("b.html","#c"):获取b.html中id为c的部分内容填充到id为a的元素下。

注意:load加载的内容中如果包含js,在js被填充到指定元素时就会编译一次。

2、<%@include file="页面路径"%>

这是jsp的指令操作,将指定路径的内容镶嵌到该指令所在的位置。这是一中静态加载的方式。

加载时机:在容器将jsp转化为servlet文件之前,先和原页面代码整合为一体再做解析。(翻译阶段)

注意:因为是将2个文档合成一个再解析,所以可能存在相同的头部,这将可能导致解析出错,所以引入文件的头部尽量去掉,以沿用原页面的头部内容。

3、<jsp:include page="页面路径" flush="true">   

这是一种行为操作,在请求页面时将指定路径的页面进行翻译和执行,并将执行结果放在该代码所在位置。

加载时机:在页面被请求时才会对引入的页面和原界面进行分别翻译和执行。即会翻译为2个servlet文件。他们是相对独立的,只有显示的时候才会将结果放在一起显示。(请求处理时执行)

注意:因为2个页面是相对独立的,所以需要独立处理,有可能存在2个页面的编码集不一致而导致的乱码。

以上这篇详谈jQuery.load()和Jsp的include的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持菜鸟教程(cainiaojc.com)。