JQuery文件上传iframe方法

时间:2014-06-23 13:06:11

标签: jquery internet-explorer-8 cross-domain jquery-file-upload

我想设置一个兼容IE8的跨域文件上传解决方案。我一直在使用blueimp's JQuery File Upload plugin with the iframe transport option

上传效果很好,但我无法从服务器端获取上传结果。用于解析的result.html文件的重定向选项似乎是解决方案,但问题是我无法访问托管表单的服务器来部署HTML文件。在这种情况下,有没有其他方法可以在不将HTML文件部署到源服务器的情况下检索上载结果?

1 个答案:

答案 0 :(得分:0)

在javascript文件中,您可以添加此事件侦听器(for non-jQuery way see this answer

$(window).on('message', function(e){
    var data = e.originalEvent.data || e.originalEvent.message;

    data = JSON.parse(data); //only if you did JSON.stringify for the data you sent
    //do what you need with the message you send.
});

接下来,当上传完成后,您可以将其写入页面或将iframe重定向到另一个包含此内容的网页。

window.parent.postMessage('File Upload Done', '*');

如果你需要向父母发送更多数据,你需要首先JSON.stringify内容(旧的IE和FF不允许对象,只是字符串。)

window.parent.postMessage(JSON.stringify({'success': true, 'id': 1942}), '*');