无法将额外数据附加到jquery-fileupload调用

时间:2017-11-18 17:48:04

标签: javascript jquery ajax django jquery-file-upload

我正在尝试使用jQuery File Upload Plugin将文件上传功能集成到我的Django应用程序中,可以找到here。现在,我已经在模板中附加了csrf token和输入标记:

<input id="fileupload" type="file" name="document" multiple
               style="display: none;"
               data-url="{% url 'upload' %}"
               data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}"}'>

但是,稍后在JS文件中,我想在此表单中附加一些额外信息。建议的方法是使用formData执行此操作,如下所示:

$("#fileupload").fileupload({
    dataType: 'json',
    formData: {employee_id: get_selected_employee()},
    done: function (e, data) {  
        }
    }
});

但是,此新数据不会附加到formData,后者已在模板中创建并包含csrf_token

如果我尝试在.fileupload调用中附加csrf标记和employee_id,即使csrf标记似乎有效,我也会403 (CSRF token missing or incorrect)。我无法将employee_id附加到模板中,因为它会动态更改。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

我动态地将数据附加到data-form-data,所以看起来像这样:

data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}", "employee_id": "<employee_id>"}'

但是,jQuery File Upload我遇到了其他多个问题,因此决定切换到Dropzone,我花了3个小时来设置所有内容,而我花了3天时间尝试整合jQuery File Upload