Ihr könnt reden...
Ok, reden wir.
Aber ihr habt schon wahrgenommen, dass der HTTP Status bei Sepp 200 war?
Genau das ist das Problem einer mangelhaften Fehlerbehandlung. Status 200 ist schon falsch.
Er hat aber auch keine Angabe für dataType gemacht. Mit dataType: "json" in den Optionen funktioniert es nämlich, dann springt jQuery in den Error-Handler
Wenn der Fehler, so wie hier serverseitig auftritt, kann man keinen JSON erwarten.
That's the Crux.