【发布时间】:2018-04-16 03:10:04
【问题描述】:
我无法在formData 中获取$('.drop').attr('data-id'):
$('.drop').fileupload({
dataType: 'json',
url: base_path + 'parallax/upload',
autoUpload: false,
replaceFileInput: false, // interferes w/ dropify
formData: {
id: $('.drop').attr('data-id'), // nothing
stmt: '1', // works
'{/literal}{$this->security->get_csrf_token_name()}{literal}': '{/literal}{$this->security->get_csrf_hash()}{literal}'
},
add: function (d, c) {
console.log($(this).attr('data-id')); // works
console.log($('.drop').attr('data-id')); // works
console.log($('#fileupload').attr('data-id')); // works
var a = [];
var b = /\.(gif|jpe?g|png)$/i;
if (c.originalFiles[0]['name'].length && !b.test(c.originalFiles[0]['name'])) {
a.push('Not an accepted file type.');
}
if (c.originalFiles[0]['size'].toString().length && c.originalFiles[0]['size'] > maxsize) {
a.push('Filesize is too big; try increasing post_max_size and/or upload_max_filesize.');
}
if (a.length > 0) {
bootbox.alert(a.join(''));
} else {
start_time = new Date().getTime();
c.submit();
}
},
根据docs,可以通过以下方式添加额外的表单数据:
$('#fileupload').fileupload({
formData: {example: 'test'}
});
这适用于我的 csrf 令牌和我手动定义的其他内容,但是我似乎无法获得 formData 中输入字段的 data-id。没有发生错误,但我确实看到我的请求在没有id 属性的情况下发送 - 如果我手动定义它 - 它可以工作。我也可以在add函数中获取属性。
怎么了?
【问题讨论】:
-
反对者是否愿意详细说明?
标签: jquery jquery-file-upload form-data