Ich verwende das Plugin datatable
, um eine Liste der Benutzer anzuzeigen. In dieser Liste muss ich neue Dateien hochladen können.jQuery - DataTables Upload-Datei mit Ajax
Ich versuche mit Ajax zu versuchen, Daten an PHP zu senden. Wenn ich Wert sende, gibt es kein Problem, mein PHP-Skript funktioniert jedoch, ich kann die Daten nicht aus den Dateien abrufen.
Um die Dateien hochzuladen verwende ich das gleiche Skript, das ich für ein anderes Projekt geschrieben habe, das funktioniert, also denke ich, hier ist das Problem DataTable
, die meine Formulardaten nicht erkennen.
Weiß jemand, wie man das erreicht?
JS
$('#example .fileinput-upload-button').on('click', function(event) {
var td = $(this).closest("td");
var parentTD = td.parent();
var form = $(this).closest("form");
var url = "example/upload.php?type=photo"
var data = new FormData(form);
alert(form);
$.ajax({
type: "POST",
url: url,
data: data,
mimeType: "multipart/form-data",
contentType: false,
cache: false,
dataType: "html",
processData: false,
success: function(data) {
alert(data);
}
});
PHP
$type = filter_input(INPUT_GET, "type");
$target_dir_header = $includesDir . "dashboard/resources/header_pic/";
$dataHeader = $_FILES['input7'];
$dataHeader_ext = explode('/', $dataHeader['type']);
$imageFileType_header = $dataHeader_ext[1];
$target_file_header = $target_dir_header . basename("header" . $imageFileType_header);
echo $type . " - " . $imageFileType_header;
In der jsFiddle gibt es kein 'form'-Tag. –
Ja es gibt .. kurz vor dem Eingang – SNos
Du hast recht, sorry. Siehe [diese Antwort] (http://stackoverflow.com/questions/28872872/error-in-sending-form-file-with-form-using-ajax). Versuchen Sie 'var data = new FormData(); data.append ('file', $ ('input [type = file]', form) [0] .files [0]); –