【问题标题】:[javascript]:How to achieve cross-site (cross-domain) directory upload in jquery.form plugin?[javascript]:jquery.form插件如何实现跨站(跨域)目录上传?
【发布时间】:2014-04-17 10:17:53
【问题描述】:

我遇到的ajaxForm插件如下:

HTML:

<form id="uploadForm" method="post" enctype="multipart/form-data">
    <input type="file" directory webkitdirectory name="fileToUpload" />
</form>

JavaScript:

$("input[name='fileToUpload']").change(function() {
    var form = $('#uploadForm');
    form.attr('action', uploadURL);
    form.ajaxSubmit({
        uploadProgress: function(event, position, total, percentComplete) {
            var percentVal = percentComplete + '%';
            console.log('percentVal', percentVal);
        },
        complete: function(xhr) {
            console.log('completed');
        },
        success: function() {
            console.log('success!!!!');
        }
        });
    return false;
});

问题是我什至无法设置uploadProgress,一旦设置了这个回调,我得到405 Method Not Allowed 错误。但是,如果我从ajaxSubmit 的选项中删除uploadProgress,只剩下successcomplete 回调,则上传操作正确执行。

这让我很困惑。

【问题讨论】:

标签: jquery ajax upload directory


【解决方案1】:

终于,我得到了答案。是关于跨域的问题。

一旦我在同一个 Web 容器中部署我的应用程序,问题就消失了。但我仍然对此感到困惑。为什么uploadProgress在发送跨域请求时甚至不能设置?

【讨论】:

    猜你喜欢
    • 2011-07-01
    • 2019-08-22
    • 2014-03-16
    • 2021-07-18
    • 2012-12-21
    • 2011-11-23
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多