jquery fileupload错误堆栈溢出

时间:2013-05-17 05:47:10

标签: jquery jquery-file-upload

我在jquery fileupload中遇到问题,我已经包含了jqueryfileupload,为fileupload编写了js,但是当我现在将文件拖放到选定区域时,它会在chrome中抛出错误 -

未捕获RangeError:超出最大调用堆栈大小。 并在mozilla。 我的浏览器只是挂机。

虽然我的另一个项目正在运行相同的代码。 感谢

2 个答案:

答案 0 :(得分:0)

我得到了同样的错误。我在onChange方法中注释了两行。

_onChange: function (e) {
    var that = this,
        data = {
            fileInput: $(e.target),
            form: $(e.target.form)
        };
    this._getFileInputFiles(data.fileInput).always(function (files) {
        data.files = files;
        if (that.options.replaceFileInput) {
            that._replaceFileInput(data.fileInput);
        }
        /**
        *IF I put on comment this line, this solve my problem without meeting                
          bug. I don't measure the consequence.
        **/
        //if (that._trigger('change', e, data) !== false) {
            that._onAdd(e, data);
        //}
    });
}

答案 1 :(得分:0)

有完全相同的问题,问题是我的jQuery-ui版本已经过时了。导致错误的原因是widgetEventPrefix丢失了,这在jQuery-ui的更高版本中已得到修复。在_trigger方法中,它采用事件类型并预先添加widgetEventPrefix。由于widgetEventPrefix已经丢失(它应该是fileupload),事件类型只是保持“更改”而不是它应该是什么(“fileuploadchange”)。这导致函数无限地调用自身。

所以要解决这个问题,请确保您拥有最新版本的jQuery-ui。

链接到jQuery ui widgetEventPrefix错误:https://bugs.jqueryui.com/ticket/8724