Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在WordPress上使用ajax上传Dropzonejs,我可以';不要让mockfile工作_Javascript_Php_Ajax_Wordpress_Dropzone.js - Fatal编程技术网

Javascript 在WordPress上使用ajax上传Dropzonejs,我可以';不要让mockfile工作

Javascript 在WordPress上使用ajax上传Dropzonejs,我可以';不要让mockfile工作,javascript,php,ajax,wordpress,dropzone.js,Javascript,Php,Ajax,Wordpress,Dropzone.js,我已经成功地在WordPress上实现了dropzonejs,并且在我需要将图像预加载到dropzone中的部分之前,我已经将所有的事情都做好了。 我已经创建了自定义模板,用于在前端创建新帖子和编辑帖子。 创建帖子时,一切正常,因为Dropzone只上传新文件,但编辑帖子时,我需要将已经上传到帖子的Dropzone文件拉入 根据所有的说明,我找不到任何适合我的解决方案 这是一个带有dropzone的完整脚本(该脚本直接插入到模板php中,因此javascript中混合了一些php) jQuer

我已经成功地在WordPress上实现了dropzonejs,并且在我需要将图像预加载到dropzone中的部分之前,我已经将所有的事情都做好了。 我已经创建了自定义模板,用于在前端创建新帖子和编辑帖子。 创建帖子时,一切正常,因为Dropzone只上传新文件,但编辑帖子时,我需要将已经上传到帖子的Dropzone文件拉入

根据所有的说明,我找不到任何适合我的解决方案

这是一个带有dropzone的完整脚本(该脚本直接插入到模板php中,因此javascript中混合了一些php)


jQuery(文档).ready(函数($){
//Dropzone文件上传程序
Dropzone.autoDiscover=false;
var myDropzone=新的Dropzone(#媒体上传器){
url:dropParam.upload,
自动处理队列:true,
并行上传:1,
uploadMultiple:false,
最大文件大小:3,
acceptedFiles:'image/*',
addRemoveLinks:是的,
最大文件数:10,
成功:函数(文件、响应){
file.previewElement.classList.add(“dz成功”);
文件['attachment_id']=response;//推送id以供将来参考
$('#上传媒体')。追加($('');
},
错误:函数(文件、响应){
file.previewElement.classList.add(“dz错误”);
},
//更新以下部分用于从库中删除图像
removedfile:函数(文件){
var attachment_id=file.attachment_id;
jQuery.ajax({
键入:“POST”,
url:dropParam.delete,
数据:{
媒体标识:附件标识
}
});
$('input.media ID[type=hidden]')。每个(函数(){
if($(this).val()==附件id){
$(this.remove();
}
});
var_ref;
return(_ref=file.previewElement)!=null?_ref.parentNode.removeChild(file.previewElement):void 0;
}
});
var mockFile={name:,size:};
emit(“addfile”,mockFile);
emit(“缩略图”,mockFile,”);
emit(“完成”,mockFile);
var existingFileCount=;//已上载的文件数
myDropzone.options.maxFiles=myDropzone.options.maxFiles-existingFileCount;
});
所以这实际上是从服务器获取图像,获取图像的信息,并将它们放入dropzone字段

问题是,当我尝试从dropzone删除图像时,脚本没有响应ajax删除函数,我在firebug控制台中没有看到响应。实际上,dropzone停止对进一步操作(删除或添加新图像)的响应

编辑:
我想我实际上缺少的是
file['attachment\u id']=response;//创建
mockfile
时,推送id以供将来参考,因此我使其正常工作,在寻找解决方案2天后,我在这里发布问题后不久才得到它。事情总是这样的

为了让它工作,我需要改变两件事。首先,我向预加载的图像添加了
附件\u id

var mockFile = { name: "<?php echo $media_info[$i]['name'] ?>", size: <?php echo $media_info[$i]['size'] ?>, attachment_id: <?php echo $media[$i] ?> };

想解释一下为什么要投反对票吗?
var mockFile = { name: "<?php echo $media_info[$i]['name'] ?>", size: <?php echo $media_info[$i]['size'] ?>, attachment_id: <?php echo $media[$i] ?> };
    $('input.media-ids[type=hidden]').each(function() {
        if ($(this).val() == attachment_id) {
            $(this).remove();
        }
    });