nic*_*its 10 php ajax jquery dropzone.js
我正在使用一个很棒的插件 - dropzone.js(dropzonejs.com)来使我的网站在注册新用户时更加花哨.
基本上,用户填写表单,将几个图像放入"dropzone",然后单击"提交",这会触发将表单发布到php脚本的ajax调用.
我将dropzone参数设置为enqueForUpload:false,这样可以防止文件自动上传,因为我需要在创建新用户ID后将它们上传到uploads/$ userid.我可以给dropzone header params,我假设发布到url,类似于ajax调用,而不是数据:{'userid':userid},dropzone使用header:{'userid':userid} ...但是,dropzone在document.ready上初始化,并且由于尚未声明userid变量,dropzone无法初始化.
我猜我需要用document.ready初始化dropzone,但还没有给它标题.然后在ajax表单处理成功并返回userid后,调用dropzone上传并在该点为其提供标题.问题是,我不知道需要调用哪些代码来实现这一点.
准备好初始化Dropzone:
$(document).ready(function(){
$('#dropzone').dropzone({
url: 'dropzoneprocess.php',
maxFilesize: 1,
paramName: 'photos',
addRemoveLinks: true,
enqueueForUpload: false,
});
});
Run Code Online (Sandbox Code Playgroud)
然后...
$('#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' */
});
});
Run Code Online (Sandbox Code Playgroud)
eny*_*nyo 26
如果您使用最新的Dropzone版本,则该参数enqueueForUpload已被删除,有利于autoProcessQueue使整个排队更容易.
因此,只要myDropzone.processQueue()您想要上传所有文件即可立即拨打电话.
要添加其他参数,XHR您只需注册到sending事件,该xhr对象将对象作为第二formData个参数和第三个参数,并自行添加数据.像这样的东西:
myDropzone.on("sending", function(file, xhr, formData) {
// add headers with xhr.setRequestHeader() or
// form data with formData.append(name, value);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14923 次 |
| 最近记录: |