我是一个相对较新的程序员,与他告诉我的合作伙伴交谈,在 AJAX 之前,他使用 iframe 发送数据和更改内容(显然是在 JavaScript 的帮助下)。
我知道两者是相似的技术,但我没有找到一篇文章来描述它们的特点,
AJAX 比 Iframe 有什么优势?
编辑 我没有找到对该技术的任何解释,但我的搭档告诉我他通过隐藏的 iframe 发布数据并提交 iframe,听起来只是 iframe 必须刷新,但我从来没有这样做过
iframe
是一种在一个页面中分别显示两个(或多个)网页的方式
ajax
是一种将两个(或多个)网页(或新数据)合并为一个的方法
我发现 Ajax 的主要优势是:
对这个网站的一个很好的提及是因为它巧妙地使用了 Ajax。
通过 Ajax 实现“Google 即时”和提示性搜索
只是我的两分钱:
我同意上面的克里斯,我不会说它们具有可比性。
有一个用例,我发现 iFrames 通过 AJAX 更容易使用,也就是说,如果您需要将复杂的表单提交到另一个页面但您不需要任何响应 - iframe 路由是迄今为止最容易编码的。
除此之外,使用隐喻的 AJAX 充当了一个非常博学的中间人。它将处理多个请求、这些请求的状态,并以您需要的格式交回数据。
我只是想添加这个,因为我没有看到任何答案。
使用 Ajax 的原因主要是关于控制,你会得到很多。上面已经提到了这些原因。
然而,Ajax 的一个严重缺点是它是一个 JS 修复程序。JavaScript 是一门很棒的语言,但一段时间以来人们一直在把它扔到每一个问题上,如果将它们内置到浏览器中,可以优化的事情现在正在用 JS 慢慢完成(与编译语言相比)。
iFrame 就是一个很好的例子。它们代表了一个非常常见的用例,希望在其他一些 html 中包含一些 html。不幸的是,他们在这方面并不是很了不起,往往比其他任何事情都更令人头疼。
如果你想包含一些东西而不是让它弄乱你的网站,也不想让你的网站弄乱它,那么 iFrame 很棒。对于在其他 html 中包含一些随机 html 的更常见用例,Ajax 更好。
这就是我要说明的一点:这很愚蠢。没有理由不应该有像 iFrame 这样更像 Ajax 的东西。但是,通过加入 Ajax(就像我们所有人一样),我们现在别无选择。
这是一个问题的最大原因是 JS 从来都不是互联网的绝对构建块。此外,几乎每个网站都在使用它来侵犯用户隐私。因此,如果您正在寻找使用 iFrame 的充分理由,这是我的:
不需要 JS 感觉很好。如果您可以通过 JS改进您的网站而不是依赖它,那将是一项来之不易的成就,并且该网站整体上会感觉不那么“hacky”。
无论如何,这只是我的输入。
根据我的经验,通过 AJAX 加载的数据比 iFrame 中的数据更容易操作。AJAX 也非常适合创建更好的用户体验。但是我不确定我是否必须将 iFrame 和 AJAX 放在同一类别中,因为 AJAX 是异步内容,而 iFrame 实际上只是从您的站点外部加载的另一个页面。
我还可以看到 iFraming 造成 SEO 障碍并造成糟糕的用户体验。老实说,如果我可以访问内容,我会更喜欢 AJAX。