Javascript 在ajax请求期间检查文件上载
我有其他元素和文件上传的表单。对于文件上传,我使用Javascript 在ajax请求期间检查文件上载,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有其他元素和文件上传的表单。对于文件上传,我使用 在我使用的ajaxRequest中 var formData = new Formdata('#add-charges')[0]; $.ajax({ url: 'function/ajax/topup.php', type: 'POST', data: formData, async: false, cache: false, contentTy
在我使用的ajaxRequest中
var formData = new Formdata('#add-charges')[0];
$.ajax({
url: 'function/ajax/topup.php',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false
});
在PHP中,在发布表单后,如果我检查了$\u FILES数组,它会给我一个空白数组,因为我没有上传该文件。在通过ajax请求发送数据之前,是否有任何方法可以检查文件上载大小。我认为在ajax请求中,必须为上载文件设置内容类型。试试这个:
$.ajax({
url: 'function/ajax/topup.php',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: 'multipart/form-data',
processData: false
});
也许你应该从中序列化数据
$.ajax({
url: 'function/ajax/topup.php',
type: 'POST',
data: $('#add-charges').serialize(),
async: false,
cache: false,
contentType: 'multipart/form-data',
processData: false
});
希望对您有所帮助。Ajax发送文件和PHP检查$\u文件
var sofg_mixup = jQuery.noConflict();
sofg_mixup(document).ready(function() {
sofg_mixup('#ct-file').change(function() {
var fileInput = sofg_mixup('#ct-file').prop('files')[0];
var myFormData = new FormData();
myFormData.append('ct_file', fileInput);
sofg_mixup.ajax({
url: 'save_file.php',
type: 'POST',
processData: false, // important
contentType: false, // important
dataType: 'json',
data: myFormData,
success: function(jsonData) {
console.log(jsonData);
},
error: function(xhr, ajaxOptions, thrownError) {
console.log(xhr);
}
});
});
});