我已經閱讀了近20個不同的論壇帖子/ stackoverflow問題/回答關於這個,但我只是無法得到這項工作。我已經使用jQuery/PHP大約5年了,但這是我第一次需要使用AJAX做這樣的事情。
所以......現在,我只是測試並嘗試上傳.txt文件,並嘗試使用file_get_contents()
獲取其內容,並將其發送回我的JS代碼。
我已經刪除了所有花哨的工作人員並簡化了我的檔案,就像我可以,所以這是我的HTML文件:
<div class="container-fluid">
<div class="row">
<div class="col-xs-12">
<form id="uploadForm" action="url/to/php/script">
<input type="file" name="frame" />
<input type="submit" value="UPLOAD" />
</form>
</div>
</div>
</div>
和我的JS
$("#uploadForm").bind('submit',(function(e) {
e.preventDefault();
$.ajax({
url: 'url/to/php/script',
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function(data) {
console.log(data);
}
});
}));
,並在我的PHP腳本我有var_dump($_FILES)
這給我空陣列。
我的JS &窗體是從一個stackoverflow的答案複製。網址:$_POST and $_FILES empty after AJAX file upload - 因爲它被標記爲有效,但對我來說......仍然是空的。
通常情況下我的表格有enctype="multipart/form-data"
和method="post"
但是沒有區別。
我的jQuery的lib目錄下:http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js
我來到這裏是因爲我覺得自己有沒有更多的事情,我可以嘗試,不管我做什麼,$_FILES
數組爲空。
您正在使用*非常*,***非常舊的jQuery版本。嘗試將其升級到至少1.12。理想情況下,3.2,如果你不需要傳統的IE支持 –
你必須使用multipart/formdata作爲表單類型 – mtizziani
@Rory McCrossan哦....我的上帝....我已經從我的我的jquery lib複製以前的項目,但我想這次我從舊項目中複製它。哈哈我改變我的庫爲1.12,它現在的作品。謝謝!:) –