我正在使用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
之前有没有遇到过这个?关于为什么会发生这种情况的任何暗示?
提前谢谢。
答案 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模板。