s.n*_*s.n 1 html javascript jquery dropzone.js
我在Dom中有一些事件处理程序的dropzone形式.但是,没有任何事件因行动而被解雇.文件正好被发送到服务器.我只是想从服务器获取响应消息,以便我可以将图像的链接添加到数据库
HTML:
<div>
<form action="/file/upload" class="dropzone" id="dropzoneForm" method="post"></form>
</div>
Run Code Online (Sandbox Code Playgroud)
脚本:
$(function () {
Dropzone.autoDiscover = true;
Dropzone.options.dropzoneForm = {
init: function () {
this.on("success", function(response) {
alert('Success event fired! Check console');
console.log(response);
});
},
paramName: "file"
};
});
Run Code Online (Sandbox Code Playgroud)
过了一段时间,我发现了这个问题.由于某些原因,Dropzone.options没有触发,因为它位于$(function {})内部.所以这里的版本就像魅力一样
<!DOCTYPE html>
<html lang="en"
<head>
<meta charset="UTF-8">
<title>Products</title
<!-- Bootstrap core CSS -->
<link href="assets/bootstrap/css/bootstrap.css" rel="stylesheet">
<!-- Dropzone css-->
<link rel="stylesheet" href="assets/css/plugins/dropzone/dropzone.css">
<link rel="stylesheet" href="assets/css/plugins/dropzone/basic.css">
</head>
<body>
<div class="container" style="margin-top: 300px">
<div class="well">
<form action="/file/upload" class="dropzone" id="dropzoneForm">
<div class="fallback">
<input type="file" name="file" multiple="multiple">
</div>
</form>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="assets/plugins/dropzone/dropzone.js"></script>
<script>
Dropzone.options.dropzoneForm = {
dictDefaultMessage: 'Drop file here or click to upload!!!!!!!!',
addRemoveLinks: true,
init: function () {
this.on("addedfile", function(file) { alert("Added file."); });
}
};
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)