глобальные переменные ре, прекрасное в небольших программах, но когда они становятся более крупными, Вы начинаете становиться странными побочные эффекты, когда кто-то внесет изменение или исправляет ошибку путем движения, "о, я просто установлю это глобальное, и проблема уходит"
Поведение, которое вы пытаетесь создать, на самом деле не лучше всего реализовать с помощью AJAX. AJAX лучше всего использовать, если вы хотите только обновить часть страницы, а не полностью перенаправить на другую страницу. Это действительно сводит на нет всю цель AJAX.
Я бы посоветовал просто не использовать AJAX с поведением, которое вы описываете.
В качестве альтернативы вы можете попробовать использовать jquery Ajax, который отправит запрос, а затем вы укажете обратный вызов, когда запрос завершится. В обратном вызове вы можете определить, удалось ли оно или нет, и перенаправить на другую страницу в случае успеха. Я обнаружил, что использовать jquery Ajax намного проще, тем более что я уже использую библиотеку для других целей.
Вы можете найти документацию по jquery ajax здесь , но синтаксис такой же следует:
jQuery.ajax( options )
jQuery.get( url, data, callback, type)
jQuery.getJSON( url, data, callback )
jQuery.getScript( url, callback )
jQuery.post( url, data, callback, type)