DropzoneJS:上传成功后如何获得PHP响应?

2022-08-30 11:46:15

我正在尝试在我的网站上实现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=\'&lt;a href="'.$siteurl.'"&gt;&lt;img src="'.$dlurl.'" alt="'.$alt.'" /&gt;&lt/a&gt;\' 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

查看您的网站,似乎您能够解决问题。

无论如何,这是为那些可能仍在寻找的人准备的。您需要使用两个参数添加函数成功。返回的第一个参数始终是 file,第二个是响应。

另一个答案有这个,但这个答案最初没有包括它。将自动发现设置为 false 非常重要,否则此示例(如文档中提供)不起作用。在Win10上的Chrome / IE / Edge上进行了测试。

样本:

Dropzone.autoDiscover = false;

$(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);
        });
    }
});