I'm trying to upload a file using Ajax, but I'm having troubles handling the file... For test purposes I've build a simple code that looks like this:
JS:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST",document.getElementById('upload').action,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var cmdStr="q="+str;
xmlhttp.send(cmdStr);
document.getElementById("ResponseDiv").innerHTML=xmlhttp.responseText;
PHP:
$q=$_POST["q"];
echo $q;
It works fine and xmlhttp.responseText
prints [object File]
.
My problem, however, is that I need to get the temporary file name with $_FILES["q"]['tmp_name']
. To do so I have changed the code to the following:
JS:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST",document.getElementById('upload').action,true);
xmlhttp.setRequestHeader("enctype","multipart/form-data");
var cmdStr="q="+str;
xmlhttp.send(cmdStr);
document.getElementById("ResponseDiv").innerHTML=xmlhttp.responseText;
PHP:
$q=$_FILES["q"]["tmp_name"];
echo $q;
Problem is that now with xmlhttp.responseText
I don't get anything.
Anyone knows what I'm doing wrong?