【问题标题】:Check iframe status after AJAX File Upload with Rails使用 Rails 上传 AJAX 文件后检查 iframe 状态
【发布时间】:2011-10-17 01:10:37
【问题描述】:

有一个类似的帖子Retrieving HTTP status code from loaded iframe with Javascript,但该解决方案需要服务器端返回调用 iframe 中的函数的 javascript。相反,我只想检查 iframe 的 HTTP 状态代码,而不必在 iframe 本身内调用函数,因为我的应用程序要么通过 HTML 返回完整站点,要么将单个对象作为 JSON 返回。本质上,我一直在尝试实现一个回调方法,该方法根据 HTTP 状态代码返回成功|失败。

目前我有uploadFrame.onLoad = function() { ... so far pretty empty ... },但我不确定在查找 HTTP 状态代码时要检查什么。到目前为止,我主要依靠 jQuery 的$.ajax() 来处理成功|失败,但想进一步了解 XHR 调用和 iframe 使用背后的机制。提前谢谢。


更新

我使用 jQuery 提出的解决方案

form.submit(function() {
  uploadFrame.load(function() {
    //using eval because the return data is JSON
    eval( '(' + uploadFrame[0].contentDocument.body.children[0].innerHTML + ')' );
    //code goes here
  });
});

【问题讨论】:

    标签: javascript ruby-on-rails ajax iframe


    【解决方案1】:

    我认为最好的解决方案是将<script> 标记注入您的 iframe <head> 并在那里插入您的“检测”javascript 代码。

    类似这样的:

    $('#iframeHolderDivId').html($.get('myPage.php'));
    $('#iframeHolderDivId iframe head').delay(1000).append($('<script/>').text('your js function to detect load status'));
    

    也许这不是最好的解决方案,但我认为它有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 2014-11-04
      • 2011-10-10
      • 2013-09-06
      • 2011-04-05
      • 2013-01-17
      相关资源
      最近更新 更多