[JAVASCRIPT] IFRAME VS AJAX 异步提交

在ajax没出来之前,一直是用iframe实现的无刷新请求。

主要的原理是:

  1. 使用js创建一个隐藏的iframe
  2. 把要提交的表单的target属性指向1中生成的iframe
  3. 在请求的页面中回调父页面的方法

这样就实现了一个简单的“异步提交”

 

看起来和ajax一样的效果,那为什么还要有ajax,我们来比较下:(以下把ajax技术称为XHR,iframe实现的称为iframe)

 

XHR 和 iframe的区别主要在4个地方:

  • 多线程

从上面说的原理很容易就能看出利用iframe实现的异步请求,其实也还是同步的,也就是说后台在处理这个请求的时候,前台仍然是什么都不能做的;而XHR是真正实现了异步请求,它能发起多个异步请求。

 

  • 回退键

键盘上上的回退键的主要功能是退回到上一个历史页面。

利用iframe实现的异步请求,按回退键是可以回到上个历史页面的;而XHR不行,因为它根本没有留下任何历史的痕迹。

所以现在大多数的搜索引擎是没有利用ajax实现搜索的。

  • 跨站访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值