【问题标题】:AJAX and iFrame: Calling AJAX from inside the iFrame to Update an Outside DIVAJAX 和 iFrame:从 iFrame 内部调用 AJAX 以更新外部 DIV
【发布时间】:2010-04-11 05:20:19
【问题描述】:

我有一个页面,用户可以在其中上传文件以及其他一些输入。因为我希望它类似于 AJAX,所以我求助于使用 iFrame 来完成此操作。

上传文件并加载带有响应页面的 iFrame 后,我需要使用 AJAX 调用更新 iFrame 外部的 DIV。单独更新的原因是外部 DIV 的结果取决于用户通过文件输入提供的输入。

这可以吗?我是不是走错了路?

谢谢!

UPD:从 iFrame 中返回的客户端代码能否“看到”该 iFrame 之外的元素?

【问题讨论】:

  • 你为什么使用 iFrame 来完成 AJAX 的东西?
  • @Vivan:你不能使用 XHR 上传文件,几乎所有其他东西(Flash、Java 等)都依赖于插件
  • 糟糕,我的错。我完全跳过了那部分!无视:)

标签: ajax iframe file-upload


【解决方案1】:

在加载到 iframe 的页面的 onload 事件中编写代码。然后top 将给您顶部框架或parent 将给您父框架。

【讨论】:

  • 成功了! iFrame 中 onload 事件的代码可以抓取外部 DIV - 谢谢!
【解决方案2】:

是的,可以做到。但是你可以不用 AJAX 调用来更新 div 的外部。

让您的 servlet(假设您正在使用 JSP/servlets)接受多部分请求(接受上传的 servlet),返回预期的响应(显示在刷新的 iFrame 上),以及与它一起,来自文件输入的必要信息。这样,您就可以在一个响应中获得有关客户端的所有必要详细信息。一个简单的javascript函数就可以实现,用文件输入的信息更新外层div。

【讨论】:

  • 我喜欢这样!我正在使用 PHP,但都一样。我想问题是,来自 iFrame 内的响应客户端代码会看到外部 DIV 吗?这就是我似乎有问题的地方。
  • 我在上面大卫的帮助下得到了这个!我不知道我怎么没想到您对多个 AJAX 调用的建议。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-06-11
  • 2010-12-12
  • 2012-05-21
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
相关资源
最近更新 更多