Используйте window.history.pushState("object or string", "Title", "/new-url")
, но он по-прежнему отправляет новый запрос url на сервер
Вы пытаетесь получить доступ к ответу ajax до его появления. Код после console.log (urlReg) принадлежит функции readystatechange - но поскольку у вас есть jQuery, ИСПОЛЬЗУЙТЕ его .
var url = "somepage";
function validerBtn() {
console.log("before");
$("#loader").show();
$.getJSON(url, function(data) {
console.log("after", data);
// here you need to process the data which is in JSON format assuming the server sends application/json
$("#loader").hide();
});
}