[英]jQuery Ajax post file
我嘗試通過ajax將上傳的文件發布到php。
HTML :
<form id="uploadForm" name="uploadForm" action="#" enctype="multipart/form-data">
<input id="name" name="name" class="form-control" type="text" />
<input id="csv" name="csv" type="file" />
<input id="CSVUpload" type="submit" class="btn btn-default" name="Submit" value="Hochladen" />
JS
$("#uploadForm").submit(function () {
var formData = new FormData();
formData.append( 'csv', $( '#csv' )[0].files[0] );
formData.append( 'name', $( '#name'));
jQuery.ajax({
url: "../lib/import.php",
data: formData,
type: "POST",
success: alert('erfolgreich'),
error: alert('Fehler'),
cache: false,
contentType: false,
mimeType: 'multipart/form-data',
processData: false
});
});
然后我嘗試在PHP中獲取表單數據:
$_FILES['csv']
$_POST['name']
但是Ajax調用以成功和錯誤來完成...我很困惑... PHP文件將無法正確執行...
謝謝你的幫助!
您不是要為success
或error
分配功能。
您正在立即 調用警報功能,然后分配其返回值。
您需要創建新功能以分配給success
和error
。
success: function () { alert('erfolgreich') },
error: function () { alert('Fehler') },
您還以提交處理程序的形式調用該函數,但並沒有阻止正常表單的提交。 因此,瀏覽器將在處理對Ajax請求的響應之前加載新頁面。
$("#uploadForm").submit(function (event) {
event.preventDefault();
嘗試使用以下成功和失敗代碼重構AJAX調用:
$.post('../lib/import.php', formData).done(function() {
console.log('done');
}).fail(function() {
console.log('error');
});
有關更多示例,請參見http://api.jquery.com/jquery.post/ 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.