Ich kann den Grund finden, warum meine Ajax-Antwort anders, wenn ich die Antwort console.log. Irgendwelche Ideen? Seite1 wird in Konto Update-Formular verwendet, während page2 in Anmeldeformular verwendet wird.Wie kommt es, dass Ajax Antwort anders ist?
page1.js:
function ajaxCheckDupEmail(){
if(valid_email === true){
return $.ajax({
type:'POST',
url:'ajax/page1.php',
data:{ 'email': email, 'email_login': email_login },
success:function(response){
//some code
}
});
}else{
//other code
}
}
$.when(ajaxCheckDupEmail()).done(function(a1){
console.log(a1);
if(a1[0] === 'false'){
//submitting form
//some code
}
});
HINWEIS: E-Mail und email_login ist ein js var, wo ich speichern userinput in, ich VALID_EMAIL verwendet zu überprüfen, ob E-Mail
page1.php gültig ist:
if(isset($_POST["email"]) && !empty($_POST["email"])){
$email = trim_strip_data($_POST["email"]);
$email_login = trim_strip_data($_POST["email_login"]);
$prep_data_email = $db->prepare("SELECT email FROM user WHERE email = :email");
$prep_data_email->execute(array(":email" => $email));
$row_count = $prep_data_email->rowCount();
if($row_count === 1 && $email !== $email_login){
echo "true";
}else{
echo "false";
}
}
HINWEIS: trim_strip_data() ist eine benutzerdefinierte Funktion weiße Flächen zu trimmen, obwohl ich nicht glaube, es in diesem Fall
notwendig ist 01.235.page2.js:
function ajaxCheckDupEmail(){
if(valid_email === true){
return $.ajax({
type:'POST',
url:'ajax/page2.php',
data:{ 'email': email },
success:function(response){
// some code
}
});
}else{
//other code
}
}
function ajaxCheckDupUsername(){
if(username !== ""){
return $.ajax({
type:'POST',
url:'ajax/page2.php',
data:{ 'username': username },
success:function(response){
// some code
}
});
}else{
//other code
}
}
$.when(ajaxCheckDupUsername(), ajaxCheckDupEmail()).done(function(a1, a2){
console.log(a1);
console.log(a2);
if(a1[0] === 'false' && a2[0] === 'false'){
//submitting form
//some code
}
});
HINWEIS: E-Mail ist ein js var, wo ich speichern userinput in, ich VALID_EMAIL verwendet zu überprüfen, ob E-Mail
page2.php gültig ist:
if(isset($_POST["email"]) && !empty($_POST["email"])){
$email = trim_strip_data($_POST["email"]);
$prep_data_email = $db->prepare("SELECT email FROM user WHERE email = :email");
$prep_data_email->execute(array(":email" => $email));
$row_count = $prep_data_email->rowCount();
if($row_count === 1){
echo "true";
}else{
echo "false";
}
}
if(isset($_POST["username"]) && !empty($_POST["username"])){
$username = trim_strip_data($_POST["username"]);
$prep_data_username = $db->prepare("SELECT username FROM users WHERE username = :username");
$prep_data_username->execute(array(":username" => $username));
$row_count = $prep_data_username->rowCount();
if($row_count === 1){
echo "true";
}else{
echo "false";
}
}
HINWEIS: trim_strip_data() ist eine benutzerdefinierte Funktion weiße Flächen zu trimmen, obwohl ich nicht glaube, es in diesem Fall notwendig ist,
Das Problem ist, ich 2 unterschiedliche Antwort re sult (abhängig vom Ergebnis richtig/falsch).
In page1.js erhalte ich:
true
In page2.js erhalte ich:
true,success,[object Object]
true,success,[object Object]
Es sieht aus wie ich ein Antwortobjekt in page2.js bekommen, aber warum ich nicht einen in page1.js bekommen?
Ich alarmierte die beiden Antworten, aber ich bekomme die gleichen Ergebnisse wie in meiner Frage angegeben. Ich vermisse keinen Code. – Thoaren