2016-06-28 59 views
2

我似乎沒有獲得額外的數據添加到「formData」。追加數據到formData對象

首先添加我的輸入文件:

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]); 

這一切正常。
而經過「Ajax調用」結果我的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) 
    } 
} 

現在,我想添加一些額外的數據傳遞到PHP腳本:

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

現在當我檢查我的PHP var_dump,數組中沒有「usr」數據。
爲什麼?

回答

1

當U追加:

formData.append('usr', selectedUsr); 

你不能$_FILES['uploadPhoto']

相反,我用$_POST

訪問訪問對象

所以我的解決方案是:

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

我認爲你是隻檢查$_FILES,還要檢查後數據print_r($_POST)