2016-06-28 2 views
2

Кажется, я не получаю дополнительных данных, добавленных в "formData".Добавить данные в formData object

Сначала я добавить свой входной файл:

var form = $('#uploadForm')[0]; 
var formData = new FormData(form); 

var input = $("#uploadPhoto")[0]; 
//Add input file data to formData 
formData.append(input.name, input.files[0]); 

Это работает просто отлично.
И мой PHP var_dump после «Аякса вызова» Результаты:

array(1) { 
    ["uploadPhoto"]=> 
    array(5) { 
    ["name"]=> 
    string(5) "1.xls" 
    ["type"]=> 
    string(24) "application/vnd.ms-excel" 
    ["tmp_name"]=> 
    string(40) "..../tmp/phpmyn3E1" 
    ["error"]=> 
    int(0) 
    ["size"]=> 
    int(42799) 
    } 
} 

Теперь я хотел бы добавить некоторые дополнительные данные для передачи на РНР скрипт:

formData.append('usr', selectedUsr); 
formData.append(input.name, selectedUsr); 
formData.append('usr', 'usr: '+ selectedUsr); 

Когда я теперь проверить мой PHP var_dump, в массиве нет данных «usr».
Почему?

ответ

1

Когда у добавления:

formData.append('usr', selectedUsr); 

Вы не можете получить доступ к объекту с $_FILES['uploadPhoto']

Вместо этого я доступ с $_POST

Таким образом, мое решение было:

//JS 
formData.append('usr', selectedUsr); 
//PHP 
$usr = $_POST['usr']; 
1

Я думаю, что вы проверяете только $_FILES, а также проверить почтовые данные print_r($_POST)

Смежные вопросы