我知道多次询问iframe和ajax比较。但我想添加好的jQuery load()
函数,并询问何时使用哪一个。
我确信他们都有自己的特定功能,所以我不想知道哪一个更快等等,我更渴望识别何时使用哪个从另一个检索数据页
<iframe>
load();
ajax();
答案 0 :(得分:1)
鉴于框架已弃用且
AJAX
具有原始控件,iframes
几乎是将另一个页面嵌入你的唯一方法。GMail由
iframes
制作。 GMail的顺利用户体验(你仍然可以使用 当你的互联网连接中断,没有平滑导航 必须重新加载)来自iframes。再次,这可能是 在AJAX中实现,但它更难。另一方面,iframe(CSRF,clickjacking等)的问题是 现代开发商众所周知,他们可以采取措施避免 这一点。
- 何时使用Ajax?
表单验证
这几乎是不费吹灰之力的。表格告诉它,它好多了 如果您填写错误或没有填写错误,那么您正在打字。不得不 转到服务器然后返回错误消息不仅是旧的, 它很慢。保留表单中的服务器验证,这很重要 可访问性。但对于那些能够支持Ajax的人来说,请告诉他们 程。
<强> 评论 强>
对博客甚至只是文章的评论都是对Ajax的一种很好的用法。 评论可以随时更改,尤其是当评论者点击时 评论按钮,很高兴看到评论立即出现 页面。
过滤数据
如果你有一张包含大量数据的大表,那就太好了 Ajax的应用程序是向表中添加过滤器和排序器。 让你的Web表更像Excel,这对你来说非常有用 人。
调查和民意调查
击>当您点击投票时,民意调查只会切换为显示您 结果。在你评论之前,关于还没有支持Ajax 我们的民意调查 - 但肯定会很好。也许我们可以给About.com 开发人员&#34; Ajax电话&#34;我们自己的。
<击> 撞击>
至于
load
,就我个人而言,已经习惯了 将文档加载到DOM中的任何元素,但将具有相同的元素 关于跨域的ajax
超过iframe
的缺点 数据即可。当您返回的结果为html
时,您可以使用加载 这提供了将结果直接呈现给DOM
的选项 元件
<强>更新强>:
基本上,
ajax
和load
之间的主要区别在于ajax
在发布数据之前可以设置更多options
server
加ajax
可用于在服务器中存储data
可以操纵type="POST"
和从服务器返回的数据 我们想要的方式不同于只能用于渲染数据的负载。
总结 - 安全明智ajax/load
很好,但如前所述,如果你知道使用iframe
的安全漏洞,你可以采取必要的预防措施来防止它们。