Не было бы намного проще просто установить время ожидания ajax равным 1 миллисекунде. Даже на localhost он всегда будет иметь тайм-аут при этом значении. Это метод, который я всегда использую. Единственное, что вы не используете при таком подходе, - это фактическое «ощущение», которое дает предпочитаемый вами период ожидания для конечного пользователя (т. Е. Чувствует ли он 3 секунды долго, слишком мало 2 секунды). Но если вы просто хотите применить код под ответом об ошибке, это поможет мне.