私は、リダイレクトなしでフォームデータをPHPスクリプトに送信しようとしています。 私が持っている問題は、responseText関数が確実に動作しないようです。AJAX responseTextは信頼できません
注:PHPスクリプトは意図したとおりに動作します。そして、データベースに書き込むなどです。
AJAXコード:
$(document).ready(function(){
$('#registreer').click(function(){
$.ajax({
type: "POST",
url: "assets/PHP/registreer.php",
data: $('form').serialize(),
success: function(jqXHR, textStatus) {alert("Succes" + jqXHR.responseText);},
error: function(jqXHR, textStatus) {alert("Error" + jqXHR.responseText);}
})
});
});
PHPコード:
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
if ($passwordPost != $passwordRetypePost) {
echo "Paswoorden zijn niet hetzelfde!";
} else {
if (!($stmt = $conn->prepare("SELECT * FROM `Gebruikers` WHERE `Email` = ?"))) {
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
} else {
$stmt->bind_param("s", $emailPost);
$stmt->execute();
$stmt->bind_result($id, $email, $paswoord, $rol);
$stmt->store_result();
if ($stmt->num_rows > 0) {
echo "Email bestaat al!";
} else {
$stmt->close();
$hash = password_hash($passwordPost, PASSWORD_DEFAULT);
if (!($stmt = $conn->prepare("INSERT INTO `Gebruikers`(`Email`, `Paswoord`) VALUES (?,'$hash')"))) {
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
}
$stmt->bind_param("s", $emailPost);
$stmt->execute();
echo 'Gelukt!';
}
}
}
$mysqli->close();
だから、何らかの理由で私が得ることができる唯一の応答は次のとおりです。
echo "Email bestaat al!";
他のすべてのエコーのはいないようです私のHTMLページに取り組んでいます。私が何を試しても問題ありません。
ご提案は大歓迎です!
エコーに達した場合、他のエコーには到達してはいけません。私は問題を見ない。 –
成功したコールバックでは、最初の引数はjqXHRではありません。それを正しくコピーしてもよろしいですか? –