Używając Dropzone.js do przesyłania po utworzeniu nowego użytkownika, wyślij nagłówki
Używam świetnej wtyczki - dropzone.js (dropzonejs.com), aby moja strona była trochę bardziej wyszukana podczas rejestracji nowego użytkownika.
Zasadniczo użytkownik wypełnia formularz, upuszcza kilka obrazów do „dropzone” i klika „Submit”, który uruchamia wywołanie ajax, które wysyła formularz do skryptu php.
Mam parametry dropzone ustawione na enqueForUpload: false, który przechowuje pliki przed automatycznym przesyłaniem, ponieważ muszę je załadować do uploaderów / $ userid, po utworzeniu nowego identyfikatora użytkownika. Mogę podać parametry nagłówka dropzone, które zakładam na adres URL, podobnie do wywołania ajax, zamiast danych: {'userid': userid}, dropzone używa nagłówków: {'userid': userid} ... Jednak , dropzone zostaje zainicjowane na document.ready, a ponieważ zmienna userid nie została jeszcze zadeklarowana, dropzone nie może się zainicjować.
Zgaduję, że będę musiał zainicjować dropzone z document.ready, ale jeszcze nie dać mu nagłówków. Następnie po pomyślnym przetworzeniu formularza ajax i zwróceniu userid, wywołaj dropzone, aby załadować i nadać mu nagłówki w tym punkcie. Problem polega na tym, że nie wiem, jaki kod musiałby zostać wywołany, aby tak się stało.
Zainicjuj Dropzone w gotowości:
$(document).ready(function(){
$('#dropzone').dropzone({
url: 'dropzoneprocess.php',
maxFilesize: 1,
paramName: 'photos',
addRemoveLinks: true,
enqueueForUpload: false,
});
});
Następnie...
$('#submit').on('click', function(){
validation crap here
$.ajax({
type: 'post',
url: 'postform.php',
data: {'various': form, 'values': here}
datatype: 'json',
success: function(data){
var userid = data.userid;
/* (and this is what I can't figure out:)
tell dropzone to upload, and make it
post userid to 'dropzone.php' */
});
});