Usando el objeto FormData, el servidor recibe un POST vacío
Estoy intentando enviar un archivo y una variable de texto a mi servidor con el objeto FormData. Mirando la pestaña Red en las herramientas de desarrollo de Chrome, puedo ver que el archivo y la variable se están enviando. Sin embargo, he probado var_dump () en las variables $ _POST y $ _FILES, y ambas se muestran como matrices vacías. Aquí está el código que estoy usando para el formulario:
<code>var image_upload = document.getElementById("image_upload"); if(image_upload.value == '') { alert("Please select a file to upload."); } else { alert("in"); var ajaxHandler = new XMLHttpRequest(); var content = image_upload.files[0]; var formData = new FormData(); formData.append("type", "5"); formData.append("content", content) ajaxHandler.onreadystatechange = function() { if(ajaxHandler.readyState == 4) { alert(ajaxHandler.responseText); } }; ajaxHandler.open("POST", "newCard", false); ajaxHandler.setRequestHeader("Content-type","multipart/form-data"); ajaxHandler.send(formData); } </code>
He intentado este código con y sin "charset = utf-8" en el tipo de contenido, y no parece haber una diferencia. ¿Que está pasando aqui?