繁体   English   中英

使用Rails上传AJAX文件后检查iframe状态

[英]Check iframe status after AJAX File Upload with Rails

有类似的帖子, 使用Javascript从加载的iframe检索HTTP状态代码,但是该解决方案要求服务器端返回javascript,以在iframe中调用函数。 相反,我只是想检查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
  });
});

我认为最好的解决方案是将<script>标记注入到iframe <head>然后在其中插入“检测中”的javascript代码。

像这样的东西:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM