Здравствуйте у меня такая проблема
Я написал код на Ajax который работает так:
При нажатии на блок в меню отправляется запрос через Ajax и Ajax подгружает файл php но при этом ссылка так и остаётся что-то/index.php то есть при обновлении страницы вы снова очутитесь на главной странице так как можно исправить что бы можно было указать определенную ссылку и при этом сразу открывалась нужная страница с подгруженнвм контентом
В этом случае адресная строка станет показывать mozilla.org/bar.html, но браузер не будет загружать страницу bar.html и даже проверять существует ли она.
happyer, нет, stateObj это то, что попадёт в историю браузера, чтобы сменился урл на указанный вами нужно в приведённом коде bar.html заменить на test/test2.html
Егор Живагин, вот смотрите я написал такой код в файле который находится здесь test/test.php
var stateObj = { foo: "test"};
history.pushState(stateObj, "page 2", "test2");
в итоге после обновления страницы мне выдает ошибку что страница не найдена
как это можно исправить и объяснить ?
happyer, этот код просто меняет url-адрес. Там даже написано, что браузер не проверяет, существует ли страница. Всё происходит на фронтенде. Браузер остаётся на изначальной странице, просто меняя url
Но когда вы перезагружаете страницу/переходите по новому адресу, запрос по этому адресу летит на бэкенд. Соответственно, если бэкенду нечего отдавать по этому адресу - вылетит ошибка.
Можете посоветовать статью какую-нибудь тогда ? Я просто все что можно испробовал поэтому решился обратиться сюда к тому же про pjax тоже искал но ничего годного не нашел