Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ajax请求期间检查文件上载_Javascript_Php_Jquery_Ajax - Fatal编程技术网

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);
                }
            });
        });
    });