Javascript ReferenceError:未定义的变量:Fo​​rmData

时间:2012-04-16 20:46:41

标签: javascript opera form-data

我在使用下面的代码时遇到了问题。该脚本将2个变量和一个文件发送到php脚本,以将其上载到服务器。在Firefox和Chrome中,一切都运行顺利,但在Opera中我得到了" ReferenceError:未定义的变量:Fo​​rmData "。

无法在IE或Safari中测试,因为我使用的是File API。脚本中还有其他功能,但只有这2个很重要,因为这里会导致错误。

datumActiviteit = "testxx";
naamActiviteit = "testyy";

function sendFiles() {
try{
    var imgs = document.querySelectorAll(".obj");
    for (var i = 0; i < imgs.length; i++) {
        new BestandenUploaden(imgs[i],imgs[i].file);
    }
}
catch(ex){alert(ex);}

}

function BestandenUploaden(img,file){
try{
    var formData = new FormData();
    formData.append("activiteit", naamActiviteit);
    formData.append("datum", datumActiviteit);
    formData.append("bestand", file);


    var oXHR = new XMLHttpRequest();
    oXHR.open("POST", "launcherV2.php");

    oXHR.onreadystatechange = function (oEvent) {
        if (oXHR.readyState==4 && oXHR.status==200) {
            if (oXHR.responseText == "continue") {
                img.parentNode.lastChild.style.opacity = "1.0";
                img.parentNode.lastChild.style.backgroundColor = "transparent";
                img.parentNode.lastChild.style.backgroundImage = "url(../afbeeldingen/rocket/complete.png)";
            }
            else {
                window.alert(oXHR.responseText);
            }
        }
        else{
            window.alert("readyState or status error :", oXHR.statusText);
        }
    };

    oXHR.send(formData);

}
catch(err){alert(err)};


};

有没有人知道为什么只有Opera(v11.62)会抛出这个错误?

1 个答案:

答案 0 :(得分:0)

FormData仅适用于Opera v12及更高版本: http://caniuse.com/#search=FormData