2016-04-27 6 views
-1

Ich sende diese Anfrage, und es ist völlig in Ordnung, solange es erfolgreich ist. Wenn ich jedoch versuche, einen Benutzer mit einem bestehenden Benutzernamen oder einer bestehenden E-Mail zu erstellen, sollte ich 400 bad request und eine Antwort erhalten, die genau beschreibt, was das Problem ist.AJAX-Anfrage führt nicht aus 400 falsche Abfrage fehlgeschlagen

Die Sache ist, wenn ich diese Anfrage senden und 400 bekomme, wird nichts auf Konsole/Konsole geschrieben (nicht einmal die 'fail!' Zeichenfolge), aber ich kann sehen, dass die Antwort in der Konsole/Netzwerk-Registerkarte ist so das Problem wahrscheinlich nicht im Backend.

$("#registerForm").submit(function(e){ 
    e.preventDefault() 
    $.ajax({ 
    type: "POST", 
    url: "./register", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data: JSON.stringify({ 
     "username": formcontent['username'], 
     "email": formcontent['email'], 
     "password": formcontent['password'], 
    }), 
    success: function(e) { 
     window.location.href = './login' 
     return false 
    }, 
    fail: function(e) { 
     console.log('fail!') 
     console.log(e) 
     //react to error 
     return false 
    }, 
    }) 
}) 
+0

versuchen 'Fehler:' anstelle von 'fehl:' .. oder besser noch '$ Schnipsel ({}). done (function() {}). fail (function() {}); ' – Spluf

+0

Ja, hat funktioniert. Ich sollte mehr recherchieren, bevor ich frage. – Zygro

Antwort

1

Ich denke, 'fail' ist eine ungültige Funktion, Bitte versuchen Sie es mit folgenden Struktur

$.ajax({ 
type : "POST", 
url : "/register", 
contentType : "application/json; charset=utf-8", 
dataType : "json", 
data : JSON.stringify({ 
    "username" : formcontent['username'], 
    "email" : formcontent['email'], 
    "password" : formcontent['password'], 
}), 
success : function(response) { 
    console.log(response); 
}, 
error : function(response, status, err) { 
    console.log(response); 
    console.log(status); 
    console.log(err); 
} 
});