【问题标题】:valums Ajax upload not working on Safari值 Ajax 上传在 Safari 上不起作用
【发布时间】:2013-11-08 18:34:21
【问题描述】:

我正在使用 Ajax 上传来上传图片。我在同一页面上有多个上传按钮。在 FF、Chrome、IE8 和 Opera 上一切正常。但是,在 safari 中什么也没有发生,文件也没有上传。我正在使用 ajaxupload.3.6.js,下面是我的代码 -

        button = $("#uplaodFile1");      
             new AjaxUpload(button, {
            action : '/business/upload_file1',
            name: 'uplaodFile1',
            autoSubmit: true,
            cache:false,
            onSubmit: function (file, ext) {

                if (!(ext && /^(jpg|gif|png)$/i.test(ext))) {
                    alert('Error: invalid file extension');
                    return false;
                }

            },
            onComplete: function (file, response) {
               if(response=="Sucess") {
                    alert(response + 'sucess');
                    }

                else {
                        alert(response);
                    }

            }
        });

有没有人遇到过这种情况。我尝试了所有选项,例如添加元标记、搜索空 src 属性和 url 属性,但没有任何帮助。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    safari 浏览器的已知问题。请查看此链接https://github.com/valums/file-uploader/issues/190.You 可以尝试http://blueimp.github.com/jQuery-File-Upload/ 此插件具有良好的功能和文档

    【讨论】:

    • 我尝试了这个插件并且可以在 Safari 5 上成功地测试它,但是我无法添加回调。如果你以前用过这个,请帮助我。
    【解决方案2】:

    这是一个老问题,但这仍然是一个非常烦人的 Safari 问题。请参阅Safari XHR upload stucks (sometimes)JQuery Ajax call often not working on Safari 6

    好消息是:您可以构建 Valums fileuploader.js 中提供的链接中解释的建议解决方法:

    怎么样?在插件 qq.FileUploader 的xhr.open 之前的函数_upload 中添加一个ajax 调用,并在ajax 的succes 函数中包含直到xhr.send 的所有代码:

    $.ajax({
       async: false,
       url: your_closeconnection_script
    })
    .success(function(data){
       xhr.open(...
       ...
       xhr.send(file);
    });
    

    还有一件事:你需要在ajax调用之前创建一个'this'的变量并替换成功函数中的all

    var $this = this;
    $.ajax({
       async: false,
       url: your_closeconnection_script
    })
    .success(function(data){
       xhr.open(...
       ...
       if ($this._options.encoding == 'multipart'){
          ...
       }
       ...
       xhr.send(file);
    });
    

    瞧:一个运行流畅的 Valums 插件!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 2017-03-07
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      相关资源
      最近更新 更多