【问题标题】:Cannot append extra data to jquery-fileupload call无法将额外数据附加到 jquery-fileupload 调用
【发布时间】:2017-11-18 17:48:03
【问题描述】:

我正在尝试使用 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,因为它是动态变化的。有人有什么想法吗?

【问题讨论】:

  • 我也遇到了同样的问题,请问您找到解决方法了吗?谢谢!

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-03-30
    • 1970-01-01
    • 2014-12-05
    • 2017-06-29
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多