使用dropzone将其他数据发送到后端

Sid*_*ius 3 php ajax jquery xmlhttprequest dropzone.js

我试图通过dropzone将一个特定的 - 已知的图像文件的位置ID发送到后端,该后端将被上传到服务器上.虽然formData.append()正在使用,但我看到没有附加任何东西.而只是这个" FormData {}"出现了.

dropzoneObject.on("sending", function(file, xhr, formData){
    var nameOfFile = $(file.previewElement).find(".dz-filename").text();
    var positionOfFile = fpos;
    //console.log("The file who's being sent is named: "+nameOfFile+" and its position id is: "+positionOfFile);
    formData.append("fpos", fpos);
});
Run Code Online (Sandbox Code Playgroud)

我希望在例子中看到fpos = 16;

wal*_*876 7

不知道你的特定错误,但这里有一个简单的例子,说明如何使用jQuery使用dropzone发送附加数据并在后端使用php接收它.

HTML:

<form id="myForm" class="dropzone"></form>
Run Code Online (Sandbox Code Playgroud)

JS:

Dropzone.autoDiscover = false;
$('.dropzone').dropzone ({
        url: "upload.php",
        init: function() {
            this.on("sending", function(file, xhr, formData){
                formData.append("fpos", 777)
            }),
            this.on("success", function(file, xhr){
                alert(file.xhr.response);
            })
        },
});
Run Code Online (Sandbox Code Playgroud)

成功事件仅用于演示如何访问从服务器发送的响应:

PHP:

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') 
    {
        echo "RECEIVED ON SERVER: \n";
        echo "FILES: \n";
        print_r($_FILES);
        echo "\$_POST: \n";
        print_r($_POST);
    }
Run Code Online (Sandbox Code Playgroud)

php只是向客户端发回收到的相同数据,只是为了显示可访问的位置.