Javascript 我试图在我的项目中运行FileReader函数,结果出现了我不理解的错误:
我必须用AJAX做一个练习。我必须使用本地文件,我放在我的电脑本地和我的程序要求选择这个文件。文件名为“ledevoir.xml” 当我执行程序时,通过选择本地文件ledevoir.xml,我得到以下错误: 未能对“FileReader”执行“readAsText”:参数1不是“Blob”类型 这是我的密码:Javascript 我试图在我的项目中运行FileReader函数,结果出现了我不理解的错误:,javascript,ajax,xml,Javascript,Ajax,Xml,我必须用AJAX做一个练习。我必须使用本地文件,我放在我的电脑本地和我的程序要求选择这个文件。文件名为“ledevoir.xml” 当我执行程序时,通过选择本地文件ledevoir.xml,我得到以下错误: 未能对“FileReader”执行“readAsText”:参数1不是“Blob”类型 这是我的密码: <?xml version="1.0" encoding="ISO-8859-1" ?> <html xmlns="http://www.w3.org/1
<?xml version="1.0" encoding="ISO-8859-1" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Exemple AJAX</title>
<script language="JavaScript">
function afficheTitres(doc) {
titres = doc.getElementsByTagName("title");
elementol = document.createElement("ol");
var longueur = titres.length;
for ( k = 0; k < longueur ; ++k) {
elementli = document.createElement("li");
elementli.appendChild(document.createTextNode(titres[k].firstChild.nodeValue));
elementol.appendChild(elementli);
}
body = document.getElementsByTagName("body").item(0);
body.appendChild(elementol);
}
function chargeDocument(f) {
var fileReader = new FileReader();
fileReader.onload = function(evt) {
var doc = new DOMParser().parseFromString(this.result, 'application/xml');
afficheTitres(doc);
}
fileReader.readAsText(f);
}
</script>
</head>
<body>
<p>Récupère et affiche
les nouvelles du devoir: </p>
<input type="file" onchange="chargeDocument(this.files)" ></input>
</body>
</html>
例如AJAX
功能附件(doc){
titres=doc.getElementsByTagName(“title”);
elementol=document.createElement(“ol”);
var longueur=滴定度长度;
对于(k=0;k longueur;++k){
elementli=document.createElement(“li”);
elementli.appendChild(document.createTextNode(titres[k].firstChild.nodeValue));
elementol.appendChild(elementli);
}
body=document.getElementsByTagName(“body”).item(0);
附体儿童(elementol);
}
职能文件(f){
var fileReader=newfilereader();
fileReader.onload=函数(evt){
var doc=new DOMParser().parseFromString(this.result,'application/xml');
附页(doc);
}
fileReader.readAsText(f);
}
Récupère et affiche
德维尔新村:
我不明白我犯了什么错误。你能帮我吗?你打电话来吗
chargeDocument(this.files)
传递所选文件,因此函数chargeDocument(f)
中的参数f
是一个数组,而不是单个文件。错误只是说数组没有函数readAsText
相反,只需传递文件数组的第一个条目:
<input type="file" onchange="chargeDocument(this.files[0])"></input>