2012-04-16 102 views
0

我在遇到下面的代码时遇到了问题。该脚本将2个变量和一个文件发送到php脚本以将其上传到服务器。在Firefox和Chrome中,一切运行都很顺利,但在Opera中我得到“ReferenceError:未定义的变量:Fo​​rmData”。Javascript 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)会抛出这个错误?

回答