2017-11-18 2 views
0

Ich versuche, Datei-Upload-Funktionalität zu meiner Django-App mit jQuery File Upload Plugin zu integrieren, die here gefunden werden kann. Nun, ich bin Befestigung bereits csrf token mit dem Eingangs-Tag in der Vorlage wie folgt aus:Kann keine zusätzlichen Daten an jquery-fileupload Anruf anhängen

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

jedoch später in JS-Datei würde Ich mag einige zusätzliche Informationen zu dieser Form anzuhängen. Die vorgeschlagene Art und Weise zu tun, dass durch Formdata wie abgebildet mit:

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

jedoch diese neuen Daten nicht zu Formulardaten angehängt bekommen, die bereits in der Vorlage erstellt und enthält csrf_token.

Wenn ich versuche, das csrf-Token und employee_id in .fileupload Anruf anfügen, bekomme ich 403 (CSRF token missing or incorrect), obwohl das csrf-Token scheint gültig zu sein. Ich kann die Mitarbeiter-ID nicht in der Vorlage anhängen, da sie sich dynamisch ändert. Hat jemand irgendwelche Gedanken?

+0

Ich habe das gleiche Problem, haben Sie irgendeine Lösung gefunden? Vielen Dank! – Sim81

Antwort

0

ich die Daten zu data-form-data dynamisch angehängt, so sah es so etwas wie das:

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

Allerdings habe ich mit jQuery File Upload mehrere andere Probleme hatte, so zu Dropzone wechseln entschieden, es hat mich 3 Stunden einstellen alles auf, während ich 3 Tage versuchte, jQuery File Upload zu integrieren.

Verwandte Themen