是数据:..下面正确
行?我要发布表单数据和CSRF令牌Django视图功能。
$('#文件上传')。在('改变',函数(){
VAR currentpath = window.location.pathname;
VAR FORMDATA =新FORMDATA($('表')[0]);
$阿贾克斯({
网址:currentpath,//服务器脚本来处理数据
键入:POST,
数据:{FORMDATA,csrfmiddlewaretoken:{{csrf_token}}},
缓存:假的,
的contentType:假的,
过程数据:假的
});
});
解决方案
您已经为您的参数添加到FORMDATA对象(使用的追加)和往常一样独自传递FORMDATA对象作为data属性。
$('#id_image')。在('改变',函数(){
VAR currentpath = window.location.pathname;
VAR FORMDATA =新FORMDATA($('表')[0]);
formData.append('csrfmiddlewaretoken,{{csrf_token}}');
$阿贾克斯({
网址:currentpath,//服务器脚本来处理数据
键入:POST,
数据:FORMDATA,
缓存:假的,
的contentType:假的,
过程数据:假的
});
});
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
});
});
解决方案
You have to add your parameters to the FormData object (using append) and as always pass the formdata object alone as the data property.
$('#id_image').on('change', function () {
var currentpath = window.location.pathname;
var formData = new FormData($('form')[0]);
formData.append('csrfmiddlewaretoken', '{{ csrf_token }}');
$.ajax({
url: currentpath, //server script to process data
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false
});
});