我正在使用$ .ajax方法和xhr2使用$ .ajax方法上載文件。
當我將任何標準對象分配給$ .ajax參數數據時,在$ _POST(php)中返回一個適當的非空數組。
JS:
data : {name:"john doe"}
PHP:的print_r($ _ POST)
Array
(
[name] => john doe
)
然而,當我assing一個FORMDATA對象參數數據,以上傳文件,一個空數組是在$ _FILES返回(PHP)
JS:
data : new FormData(document.getElementById('fileupload'))
PHP:的print_r($ _ FILES)
Array
(
)
我的HTML代碼是:
<form enctype="multipart/form-data">
<div id="myform">
<input type="file" name="fileupload" id="fileupload" />
<div id="submit">UPLOAD</div>
</div>
</form>
我jQuery代碼是:
$('#submit').click(function(){
var formData = new FormData(document.getElementById('fileupload'));
$.ajax({
url : "upload.php",
type: "POST",
data : formData,
xhr: function(){
myXhr = $.ajaxSettings.xhr();
return myXhr;
},
success: function(data, textStatus, jqXHR){
console.log(data);
},
cache: false,
contentType : false,
processData: false
});
});
你碰巧知道什麼是錯的我碼?我無法弄清楚爲什麼這個文件沒有被上傳。謝謝你的幫助。
你試過'VAR FORMDATA =新FORMDATA(document.getElement( '形式'));' – Vinz243
getElement是不是一個有效的JavaScript函數 – Vincent
哦,我對不起,通過名稱返回元素的函數(爲了獲得表單)。 – Vinz243