php - 使用 dropzone 将附加数据发送到后端

标签 php jquery ajax 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);
});

我希望在示例中看到 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 只是将收到的相同数据发送回客户端,只是为了显示可访问的位置。

关于php - 使用 dropzone 将附加数据发送到后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32778840/

相关文章:

php - 在 mysql 中给外键起别名

javascript - 如何从 javascript 图表触发 ajax

javascript - Ajax.ActionLink 的 Onclick 我需要调用 Javascript 函数

jquery - 我可以监听 ajaxComplete 上的特定元素而不是 'document' 吗?

javascript - 使用 formData 的 Ajax 文件上传在大文件上失败

PHP 4 不会在 Apache 重启后对 PHP.ini 进行更改

php - 在 PHP 类中获取数组长度

javascript - 在 Angular js 中使用 Tooltipster Jquery 插件

jquery - Rails Ajax : . js.erb 呈现为文本,而不是 JS

php - MySQL 插入多个字段和 where 子句