Есть, к примеру, такая форма:
<form action="action.php?type=newfile" method="POST" enctype="multipart/form-data">
<input type="text" name="title">
<input type="file" name="myfile" multiple="multiple"><br><br>
<span id="dropBox">Перетащите файл на эту область</span>
</form>
И кусок скрипта для отправки данных:
data = объект image или blob
var formData = new FormData();
formData.append('file', data);
formData.append('filenote', {type:'avatar',title:'it+s me'});
var xhr = new XMLHttpRequest();
xhr.open("POST", $.('form').attr('action'));
xhr.send(formData);
В итоге получаю 3 массива
$_GET: type => newfile
$_FILE: file => array(данные файла)
$_POST: filenote => [object Object]
C данными из ПОСТ невозможно работать, делаю по-другому:
в js: JSON.stringify({type:'avatar',title:'it+s me'})
в php: json_encode($_POST['filenote']);
На выходе: "{\"type\":\"avatar\",\"title\":\"it+s me\"}"
Уже лучше, но все равно невозможно работать.
Как в ПОСТ получить filenote => array(мои данные)?
P.S. Желательно так же получать filenote => var, если передается не объект, а переменная и желательно все это делать в js, а в ПОСТ получать очищенные данные