Сначала вы можете сделать запрос в AJAX, чтобы убедиться, что предоставленные данные аутентификации работают.
Если они делают, делайте то, что вы делали. Если это не так, расскажите пользователю об этом по-своему, приятнее ...
EDIT
Если вы управляете процедурой аутентификации в PHP (и если аутентификация не выполняется, предположительно, с помощью header('HTTP/1.1 401 Unauthorized');
и т. Д.), Вы можете просто ... не делать этого. Вместо этого ответьте обычным 200 OK, но поместите в текст строку, которую вы можете найти в ajax.responseText
(например, «authFailed» или что-то в этом роде).
Вы можете просто добавить заголовок (или файл cookie, или что-то еще) к запросам AJAX, которых нет в обычных запросах браузера, чтобы можно было различать проверки аутентификации AJAX и обычный сеанс с проверкой подлинности.
Точная механика в моей голове сейчас немного размыта (это был долгий день), но я уверен, что это можно сделать с помощью этого метода.