Hallo Ich habe folgenden AJAX-Code:Jquery und AJAX Post zu PHP-Datenattribut?
var formData = new FormData($('form')[0]);
$.ajax({
url: 'saveImage.php', //Server script to process data
type: 'POST',
data: formData,
processData: false,
success: function(data){
console.log(data);
}
});
Es funktioniert großartig und es lädt die PHP-Seite, um es den Hintergrund, wie es soll:
<?php
include_once "mysql_connect.php";
$imageName = mysql_real_escape_string($_FILES["Image1"]["name"]);
$imageData = '';
$imageext = '';
if($imageName != null){
$imageData = mysql_real_escape_string(file_get_contents($_FILES["Image1"]["tmp_name"]));
$imageType = mysql_real_escape_string($_FILES["Image1"]["type"]);
$imageSize = getimagesize($_FILES["Image1"]["tmp_name"]);
$imageType = mysql_real_escape_string($_FILES["Image1"]["type"]);
$FileSize = FileSize($_FILES["Image1"]["tmp_name"]);
$imageext = mysql_real_escape_string($imageSize['mime']);
}
$query=mysql_query("INSERT INTO pictures (`id`, `imagedata`, `imageext`) VALUES ('', '$imageData', '$imageext');");
echo $imageext;
?>
Das einzige Problem ist, dass die PHP-Seite kippt Finde die Variable Image1, die der Name der Eingabe im Formular ist. Habe ich etwas falsch gemacht. Ich dachte, dass vielleicht in dem Datenparameter in der Ajax würde es so etwas wie dies aber richtig sein:
data: "Image1"=formData,
Ist das eine Sache, wenn nicht, warum kann nicht meine PHP, dass das Eingabefeld sehen?
Können wir Ihr HTML-Formular sehen? – winseybash
Als Debugging-Schritt versuchen Sie, 'print_r ($ _ POST);' und 'print_r ($ _ FILES);' zu PHP hinzuzufügen, damit Sie genau sehen können, welche Daten gesendet und welche Namen verwendet werden. – Joe
@ Joe es mir
Hinweis gibt: Undefined index: Image1 in C: \ xampp \ htdocs \ Website \ saveImage.php on line
Array ( ) – Jelly