Ho realizzato uno script per l'upload di foto con AJAX e jQuery partendo da uno script trovato in rete, e devo dire che funziona abbastanza bene, ma visto che sono nuovo di AJAX volevo chiedervi se secondo voi questo script è formalmente corretto e robusto.

Oltre a vari consigli, che sono tutti ben accetti ho alcune domande specifiche:

1) Il parametro "dataType" della chiamata AJAX va bene impostato su text?

2) Se invio parecchie foto, molto pesanti, lo script non ne salva neanche una. Probabilmente perchè il totale supera il valore consentito da PHP, c'è modo di uppare solo le prime foto, e quando si sfora il limite quelle successive non vengono più uppate?

3) Io faccio una chiamata AJAX unica, è forse meglio farne una per ogni singola foto mettendo la chiamata AJAX dentro il ciclo for?

4) Attualmente non informo minimamente l'utente su a che punto è l'upload o nel caso di errori, potete consigliarmi qualche tutorial ben fatto per implementare queste funzionalità in modo robusto?

HTML:
codice:
<input id="file" multiple="multiple" accept="image/*" data-url="/users/1/photos" name="photos[]" type="file">

Javascript:
codice:
    $('#file').change(function() {
        var file_data = $('#file').prop('files');   
        var form_data = new FormData();
        
        for (var i = 0; i < file_data.length; i++) {
            form_data.append(i, file_data[i]);
        }
        
        $.ajax({
            url: $(this).data('url'),
            dataType: 'text',
            cache: false,
            contentType: false,
            processData: false,
            type: 'POST',
            data: form_data,
            success: function(response){
                print_gallery();
            }
        });
    });