Das folgende Formular ist das, was ich benutze:Wie übergibt man ausgewählte Datei mit jQuery an PHP-Skript?
<form id="form-attachment" action="" method="post" enctype="multipart/form-data">
<input name="attachment" type="file" />
<input type="submit" />
</form>
Dies ist, was ich mit jQuery tun:
$('body').on('submit', '#form-attachment', function(e) {
e.preventDefault();
var data = $(this).serialize();
console.log('fine', data);
var url = 'imageupload.php';
$.ajax({
type : "POST",
url : url,
data : data,
success : function(response) {
console.log('success: ' + response);
},
complete : function(response) {
console.log('complete: ', response);
},
error: function(response) {
console.log('error: ', response);
}
});
});
Und das ist meine imageupload.php Datei:
$response = array();
$response["c"] = isset($_FILES["attachment"]);
echo json_encode($response);
Und das ist das Ergebnis auf der Konsole submit()
:
Erfolg: { "c": false}
Also, was ist falsch? Warum ist meine Datei überhaupt nicht sichtbar?
wo möchten Sie die Datei anzeigen? Es gibt kein Skript, um eine Datei auf den Server hochzuladen. In Ihrer PHP-Datei müssen Sie move_uploaded_file() wie die PHP-Funktionen –
verwenden. Bitte überprüfen Sie [jQuery Ajax File Upload] (http://stackoverflow.com/questions/2320069/jquery-ajax- Datei-Upload) – hmd
Ja, ich weiß ... Ich werde es später verschieben, aber für jetzt ist es aus irgendeinem Grund nicht da ... –