DropzoneJS: Как получить ответ PHP после успешной загрузки?
Я пытаюсь реализовать Dropzone на моем сайте. Я хочу прослушать событие "Успех", а затем взять ответ сервера и добавить некоторую информацию из него в форму на той же странице, что и DropZone после завершения загрузки.
информация, которую я хочу получить в ответе сервера, является прямой ссылкой на файл.
веб-сайт dropzone: http://www.dropzonejs.com/
мой веб-сайт проекта:
http://37.34.62.131/test/
поэтому я закончил это в старой версии моего проекта, но я не могу понять, как это сделать с помощью dropzone.js
рабочий пример:
http://37.34.62.131/test/uploader%201.0/
то, что я пытаюсь сделать, - это когда файл был загружен. Я хочу вернуть ответ php на ту же страницу с ссылками на скачивание, как показано ниже.
Я также могу отправить вам свои исходные коды, чтобы вы могли искать себя.
мой PHP-код, который я хочу увидеть в ответе:
print '<h2>Picture Uploaded Successfuly!!!!</h2> <p id="codes">
<img src="'.$imgurl.'" height="300" alt="Uploaded Picture" >
<label for="codebb">BBCode:</label>
<input type="text" id="codebb" value="[URL='.$siteurl.'][IMG]'.$dlurl.'[/IMG][/URL]" onclick="javascript:this.focus();this.select();" readonly="true" /><br />
<label for="codehtml">HTML Code: </label>
<input type="text" id="codehtml" value=\'<a href="'.$siteurl.'"><img src="'.$dlurl.'" alt="'.$alt.'" /></a>\' onclick="javascript:this.focus();this.select();" readonly="true" /><br />
<label for="codedirect">Direct Link:</label>
<input type="text" id="codedirect" value="'.$dlurl.'" onclick="javascript:this.focus();this.select();" readonly="true" /></p>';
echo ".$newname";
Может кто-нибудь помочь мне понять, что мне не хватает?
Ответы
Ответ 1
Глядя на ваш сайт, кажется, что вы смогли исправить эту проблему.
В любом случае это для тех, кто все еще может выглядеть. Вам нужно добавить функцию с двумя параметрами. Первый возвращаемый параметр всегда является файлом, второй - ответом. Пример:
$(function() {
Dropzone.options.uiDZResume = {
success: function(file, response){
alert(response);
}
};
});
Ответ 2
У меня были проблемы с dropzone, но я нашел это решение:
new Dropzone("#myDropzone", {
maxFilesize: 2, // MB
init: function() {
this.on("success", function(file, responseText) {
console.log(responseText);
});
}
});
Ответ 3
Валидный ответ не сработал у меня. Это делает:
$(".mydrop").dropzone({
url: upload_url,
success : function(file, response){
console.log(file);
console.log(response);
}
});
И на стороне php:
echo json_encode($whateverouwant);
die();
Ответ 4
Но если я использую этот код, тогда мне нужно удалить класс dropzone из формы. В противном случае это приведет к ошибке.
throw new Error("Dropzone already attached.");
---------------------------------------------
new Dropzone("#myDropzone", {
maxFilesize: 2, // MB
init: function() {
this.on("success", function(file, responseText) {
console.log(responseText);
});
}
});
Ответ 5
Ни одно из вышеперечисленных не работало для меня, но это...
<script>
Dropzone.autoDiscover = false;
$(function(){
uploader = new Dropzone(".dropzone",{
url: "http://locahost/upload",
paramName : "uploadedFiles",
uploadMultiple :false,
acceptedFiles : "image/*,video/*,audio/*",
addRemoveLinks: true,
forceFallback: false,
maxFilesize:1000,
parallelUploads: 100,
});//end drop zone
uploader.on("success", function(file,response) {
console.log(response)
});
});//end jq
</script>