我使用的是严格的doctype,我想在页面中嵌入一个页面,为此我不能使用iframe作为doctype是严格的,所以找出了4个方法:
$.ajax()
.load()
$.getscript
<object>
标记任何人都可以告诉我所有这些方法的优点和缺点..
谢谢
答案 0 :(得分:5)
好的,我会尝试回答这个问题。
$.ajax()
是jQuery for Ajax请求的根方法。它是如此详细,你有很多参数来配置它(大多数情况下,它们被保留为默认值)。这种复杂性导致了常见的$.get()
和$.post()
缩写,以方便使用。如果您希望对ajax请求进行细粒度控制以及之后要对其执行什么操作,则使用$.ajax()
。
.load()
是$.get()
的“子功能”(它使用get)但是有一个隐式回调(除了可选的回调)。它改为加载请求的页面,并将其放在之前的元素中作为转义标记。这适用于加载已经格式化以加载到目标容器中的页面。
.getScript()
并非用于加载页面。它是检索脚本并在页面上执行它们。
<object>
标签但是......
对象元素的目的是将各种不同类型的媒体文件嵌入到文档中。 从历史上看,它主要用于将ActiveX控件放置到页面上,但它也可用于嵌入图像(.gif,.jpg等),电影文件和小程序,视频文件,PDF文档,Flash ,甚至HTML。
虽然它可以呈现HTML,但这不是它的最初目的。它适用于其他媒体。
就个人而言,我选择$.ajax()或$.get
来返回JSON数据和HTML模板,然后使用模板引擎来构建页面。这样,JSON就带宽很轻,模板可以缓存。