我认为这是一项非常简单的任务,但我似乎无法正常工作。我希望有更好理解Ajax的人可以帮我弄清楚我哪里出错了。
我的页面上有一个简单的输入框......
<form onchange="imgUpload();" >
File: <input id='img' name="myfile" type="file" />
</form>
这是它所称的功能......
function imgUpload(){
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
// document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
alert(xmlhttp.responseText);
}
}
var imgFile = document.getElementById("img");
var formData = new FormData(); // Create a FormData instance
formData.append("upload", imgFile.files[0]); //Add the file
xmlhttp.open("POST","img_upload.php",true);
xmlhttp.setRequestHeader("Content-type","multipart/form-data");
xmlhttp.send(formData);
}
我的用于处理POST的PHP页面目前不做任何事情,然后回显帖子的数组...
<?php
print_r($_POST);
exit;
?>
我的问题是,当我收到POST的结果时,它是一个空数组。显然我实际上并没有将文件发送到我的处理页面。任何有关我出错的地方都会受到高度赞赏。
我在这个论坛上发现了其他几个帖子,其他人谈论同一个问题或主题,但他们似乎无法让我到达我需要的位置。
提前致谢!