Tach!
Auf jeden Fall solltest Du Dein JS so verändern, dass alle möglichen Fälle einer Response geprüft werden. D.h., Du solltest auch prüfen, ob überhaupt ein Response Message Body gesendet wurde und wenn ja, prüfen ob es ein Content-Type: application/json ist.
Du solltest beachten, dass er jQuery verwendet. Das hat bereits einen Mechanismus eingebaut, der den Typ der Response zu analysieren versucht, siehe dataType.
PS: In Deinem Fall wird ein Response-Header Content-Type: text/html gesendet und das passt schonmal nicht zu JSON.
Das ist vermutlich der zweite von zwei Punkten, der in Bezug auf das Ajax geändert werden sollte. Der andere ist, den contentType auf application/x-www-form-urlencoded zu belassen anstatt multipart/form-data zu verwenden. Das ist vermutlich aber beides nur Kosmetik, denn das Problem scheint mir derzeit auf der Serverseite zu liegen, denn mit diesen beiden Fehlern funktioniert es ja bereits unter einer anderen URL.
dedlfix.