10

我是一个相对较新的程序员,与他告诉我的合作伙伴交谈,在 AJAX 之前,他使用 iframe 发送数据和更改内容(显然是在 JavaScript 的帮助下)。

我知道两者是相似的技术,但我没有找到一篇文章来描述它们的特点,

AJAX 比 Iframe 有什么优势?

编辑 我没有找到对该技术的任何解释,但我的搭档告诉我他通过隐藏的 iframe 发布数据并提交 iframe,听起来只是 iframe 必须刷新,但我从来没有这样做过

4

5 回答 5

8
  1. AJAX 的一个优势是能够读取请求的状态/状态。您还可以访问页眉,而 iframe 则没有。
  2. Ajax 可以处理多个异步请求。使用 iframe 有点棘手,因为您需要为每个请求创建一个 iframe(并跟踪所有这些以在以后删除它们)而不是回收同一个。
  3. 现有的库充满了 AJAX 的优点,并且有更大的社区支持基础。
于 2012-05-18T17:29:55.440 回答
7
iframe

是一种在一个页面中分别显示两个(或多个)网页的方式

 ajax

是一种两个(或多个)网页(或新数据)合并为一个的方法

我发现 Ajax 的主要优势是:

  • CSS 将流向调用它的页面。
  • 一种无需刷新页面即可检索数据并向访问者更新新信息的方法。

对这个网站的一个很好的提及是因为它巧妙地使用了 Ajax。

通过 Ajax 实现“Google 即时”和提示性搜索

于 2012-05-18T17:35:42.687 回答
3

只是我的两分钱:

我同意上面的克里斯,我不会说它们具有可比性。

有一个用例,我发现 iFrames 通过 AJAX 更容易使用,也就是说,如果您需要将复杂的表单提交到另一个页面但您不需要任何响应 - iframe 路由是迄今为止最容易编码的。

除此之外,使用隐喻的 AJAX 充当了一个非常博学的中间人。它将处理多个请求、这些请求的状态,并以您需要的格式交回数据。

于 2015-07-24T19:29:35.930 回答
3

我只是想添加这个,因为我没有看到任何答案。

使用 Ajax 的原因主要是关于控制,你会得到很多。上面已经提到了这些原因。

然而,Ajax 的一个严重缺点是它是一个 JS 修复程序。JavaScript 是一门很棒的语言,但一段时间以来人们一直在把它扔到每一个问题上,如果将它们内置到浏览器中,可以优化的事情现在正在用 JS 慢慢完成(与编译语言相比)。

iFrame 就是一个很好的例子。它们代表了一个非常常见的用例,希望在其他一些 html 中包含一些 html。不幸的是,他们在这方面并不是很了不起,往往比其他任何事情都更令人头疼。

如果你想包含一些东西而不是让它弄乱你的网站,也不想让你的网站弄乱它,那么 iFrame 很棒。对于在其他 html 中包含一些随机 html 的更常见用例,Ajax 更好。

这就是我要说明的一点:这很愚蠢。没有理由不应该有像 iFrame 这样更像 Ajax 的东西。但是,通过加入 Ajax(就像我们所有人一样),我们现在别无选择。

这是一个问题的最大原因是 JS 从来都不是互联网的绝对构建块。此外,几乎每个网站都在使用它来侵犯用户隐私。因此,如果您正在寻找使用 iFrame 的充分理由,这是我的:

不需要 JS 感觉很好。如果您可以通过 JS改进您的网站而不是依赖它,那将是一项来之不易的成就,并且该网站整体上会感觉不那么“hacky”。

无论如何,这只是我的输入。

于 2017-10-27T05:28:33.997 回答
2

根据我的经验,通过 AJAX 加载的数据比 iFrame 中的数据更容易操作。AJAX 也非常适合创建更好的用户体验。但是我不确定我是否必须将 iFrame 和 AJAX 放在同一类别中,因为 AJAX 是异步内容,而 iFrame 实际上只是从您的站点外部加载的另一个页面。

我还可以看到 iFraming 造成 SEO 障碍并造成糟糕的用户体验。老实说,如果我可以访问内容,我会更喜欢 AJAX。

于 2012-05-18T17:32:25.313 回答