我正在尝试通过dropzone将图像文件的特定- 已经已知位置ID发送到后端,该ID将被上传到服务器上。尽管formData.append()正在使用,但没有看到任何内容。相反,仅FormData {}显示了此“ ”。
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); });
我希望在示例中看到fpos = 16;
不知道您的特定错误,但是这是一个简单的示例,说明如何使用jQuery使用dropzone发送其他数据并在后端使用php接收数据。
的HTML:
<form id="myForm" class="dropzone"></form>
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); }) }, });
成功事件仅用于演示如何访问从服务器发送的响应:
的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); }
php只是将接收到的相同数据发送回客户端,只是为了显示可访问的位置。