添加参数到 addEventListener

Add parameter to addEventListener

我有以下代码用JavaScript上传文件(因为我想显示进度条):

function uploadFile() {
    var e = _("file").files[0],
        n = new FormData;
    n.append("file", e);
    var a = new XMLHttpRequest;
    a.upload.addEventListener("progress", progressHandler, !1), a.addEventListener("load", completeHandler, !1), a.open("POST", "upload.php"), a.send(n)
}

但是如何添加额外的 POST 参数,例如文件名?

同时我自己找到了解决方案。

可以简单地添加一个 GET 参数,如下所示:

function uploadFile() {
    var e = _("file").files[0],
        n = new FormData;
    n.append("file", e);
    var a = new XMLHttpRequest;
    a.upload.addEventListener("progress", progressHandler, !1), a.addEventListener("load", completeHandler, !1), a.open("POST", "upload.php?my_parameter=my_value"), a.send(n)
}

然后,在我的 PHP 代码中,我可以像这样访问参数:

echo $_GET['my_parameter'];