Javascript 使用「;事件“;使用另一个参数

Javascript 使用「;事件“;使用另一个参数,javascript,ajax,event-handling,Javascript,Ajax,Event Handling,我需要将uploadFile函数接收到的id传递给progressHandler函数,并且仍然需要“事件”才能工作,但我无法做到这一点,有人能帮我吗 function uploadFile(arquivo, id) { alert(id) //FLUIGC.loading('#painel_inclusao_planilha').show(); var file = _(id).files[0]; // alert(file.name+" | &qu

我需要将uploadFile函数接收到的id传递给progressHandler函数,并且仍然需要“事件”才能工作,但我无法做到这一点,有人能帮我吗

function uploadFile(arquivo, id) {

    alert(id)
    //FLUIGC.loading('#painel_inclusao_planilha').show();

    var file = _(id).files[0];
    // alert(file.name+" | "+file.size+" | "+file.type);
    var formdata = new FormData();
    formdata.append(id, file);
    var ajax = new XMLHttpRequest();
    ajax.upload.addEventListener("progress", progressHandler, false);
    //ajax.addEventListener("load", completeHandler, false);
    ajax.addEventListener("error", errorHandler, false);
    ajax.addEventListener("abort", abortHandler, false);
    ajax.open("POST", ""); // http://www.developphp.com/video/JavaScript/File-Upload-Progress-Bar-Meter-Tutorial-Ajax-PHP
    //use file_upload_parser.php from above url
    ajax.send(formdata); }

function progressHandler(event) {
    //_("loaded_n_total").innerHTML = "Uploaded " + event.loaded + " bytes of " + event.total;    
    var percent = (event.loaded / event.total) * 100;
    console.log('percent ---> ' + percent)
    if (percent === 100) {
        console.log('Upload concluído')
        ativarBotaoUpload()
        FLUIGC.loading('#painel_inclusao_planilha').hide();
    }
    //_("progressBar").value = Math.round(percent);
    //_("status").innerHTML = Math.round(percent) + "% concluído... por favor, aguarde"; }

您可以使用匿名回调进行此操作:

function uploadFile(arquivo, id) {

    alert(id)
    //FLUIGC.loading('#painel_inclusao_planilha').show();

    var file = _(id).files[0];
    // alert(file.name+" | "+file.size+" | "+file.type);
    var formdata = new FormData();
    formdata.append(id, file);
    var ajax = new XMLHttpRequest();
    ajax.upload.addEventListener("progress", function(event) {progressHandler(event, id)}, false);
    //ajax.addEventListener("load", completeHandler, false);
    ajax.addEventListener("error", errorHandler, false);
    ajax.addEventListener("abort", abortHandler, false);
    ajax.open("POST", ""); // http://www.developphp.com/video/JavaScript/File-Upload-Progress-Bar-Meter-Tutorial-Ajax-PHP
    //use file_upload_parser.php from above url
    ajax.send(formdata); }

function progressHandler(event, id) {
    //_("loaded_n_total").innerHTML = "Uploaded " + event.loaded + " bytes of " + event.total;    
    var percent = (event.loaded / event.total) * 100;
    console.log('percent ---> ' + percent)
    if (percent === 100) {
        console.log('Upload concluído')
        ativarBotaoUpload()
        FLUIGC.loading('#painel_inclusao_planilha').hide();
    }
    //_("progressBar").value = Math.round(percent);
    //_("status").innerHTML = Math.round(percent) + "% concluído... por favor, aguarde"; }

工作起来很有魅力!!非常感谢你!