无法使用jquery-filupload示例加载现有文件

时间:2018-01-18 15:33:14

标签: jquery file-upload blueimp

我正在使用blueimp jquery-file-upload网站提供的代码来自basic-plus演示示例。我已经修改了它以满足我的要求,并且很适合上传图像。我遇到的问题是使用main.js中的以下代码段实现现有映像的预加载:

$.ajax({
           // Uncomment the following to send cross-domain cookies:
            //xhrFields: {withCredentials: true},
            url: $('#fileupload').fileupload('option', 'url'),
            dataType: 'json',
            context: $('#fileupload')[0]
        }).always(function () {
            $(this).removeClass('fileupload-processing');
        }).done(function (result) {
            $(this).fileupload('option', 'done')
                .call(this, $.Event('done'), {result: result});
        });

当调用上面的代码时,结果实际上包含了所需的json,但是我得到以下null错误:

未捕获的TypeError:无法读取属性' call'为null

之前有没有遇到过这个?关于为什么会发生这种情况的任何暗示?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

删除文件jquery.fileupload-ui.js

时会发生这种情况

答案 1 :(得分:0)

我刚遇到这个问题。出现这种情况是因为我没有遵守JavaScript声明中的正确顺序。这是我正确的订单(使用jinja模板):

{% block javascript %}
  {% upload_tmpl_js %}
  <script src="{% static "/js/vendor/jquery/jquery.min.js" %}"></script>
  <script src="{% static "/js/vendor/jquery.ui.widget.js" %}"></script>
  <script src="{% static "/js/tmpl/tmpl.min.js" %}"></script>
  <script src="/static/js/load-image.min.js"></script>
  <script src="{% static 'js/bootstrap.min.js' %}"></script>
  <script src="{% static "/js/jquery.iframe-transport.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload-process.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload-image.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload-audio.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload-video.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload-validate.js" %}"></script>
  <script src="{% static "/js/jquery.fileupload-ui.js" %}"></script>
  <script src="{% static "/js/locale.js" %}"></script>
  <script src="{% static "/js/main.js" %}"></script>
{% endblock %}

{% upload_tmpl_js %}是一个简单的模板标记,它返回blueimp代码使用的js模板。