Is the data:.. line below correct? I want to post the form data AND csrf token to a Django view function.
$('#file-upload').on('change', function () {
var currentpath = window.location.pathname;
var formData = new FormData($('form')[0]);
$.ajax({
url: currentpath, //server script to process data
type: 'POST',
data: {formData, 'csrfmiddlewaretoken': '{{ csrf_token }}'},
cache: false,
contentType: false,
processData: false
});
});
{{ csrf_token }}will only work if this code appears on the body of the template. If it's inside an imported JS file. It wont work. - Bibhas Debnath<div id="csrf">{{ csrf_token }}</div>in your template file. In your imported JS file you can add the token to the FormData object asformData.append('csrfmiddlewaretoken', '{{ csrf_token }}');- shaktimaan