試圖學習如何使用新的AJAX文件上傳,而不是使用iframe或良好的舊PHP僅上傳文件。我瞭解XHR請求的工作原理,並長期一直使用jQuery的$.post
。但我無法得到這個。
原因:當我發佈的數據(文件,我要上傳),我只能通過$_POST
全球訪問它,而不是需要$_FILES
全球。下面是一些我的代碼真正快速:
<input type="file" id="file"/>
<input type="submit" id="submit" value="Upload" />
$("#file").on("change",function() {
var file = this.files[0];
}
$("#submit").click(function() {
var formData = new FormData();
formData.append('file',file);
$.ajax({
url: '<?php echo BASE_URL; ?>ajax/upload.php', // point to server-side PHP script
dataType: 'text', // what to expect back from the PHP script, if anything
cache: false,
contentType: false,
processData: false,
data: formData,
type: 'post',
success: function(php_script_response){
alert(php_script_response); // display response from the PHP script, if any
}
});
});
在PHP腳本,當我var_dump $_POST
,我得到的文件,但是當我var_dump $_FILES
那裏什麼也沒有。我發現這些資源,但他們似乎並沒有爲我工作:填充
- AJAX File Upload with PHP, HTML5 File API and jQuery
- jQuery AJAX file upload PHP
- jQuery AJAX file upload
我編輯了標題來形容您的具體問題。使用非常具體的標題有助於更多關注這個問題。我已經改進了代碼塊的格式,列出了資源(中間用'/'不太清楚),還有大寫的縮寫。 – Harry