У меня есть вызов службы отдыха для концепции нумерации страниц. Теперь в концепции разбивки на страницы при нажатии на следующую кнопку / значок я могу позвонить в службу отдыха, и она возвращает требуемые значения, но URL-адрес не меняется, мне нужно изменить номер страницы в URL-адресе. Мой код следующий значок события выглядит следующим образом:
function nextPage(currentPage, totalPageCount) {
alert(currentPage+ " Begin nextPage Method " + totalPageCount);
var nextPage = currentPage+1;
var ctx = "${context}";
var url = ctx+"/adtrack/storelist/National/1/"+nextPage;
console.log(url);
if(nextPage <= totalPageCount)
{
jQuery.ajax({
url: url,
type: "GET",
success: function(msg) {
alert("Success");
},
error : function(msg) {
alert("Fail");
}
});
}
else{
alert("Unable to perform the action!!!");
}
// return true or false, depending on whether you want to allow the `href` property to follow through or not
}
В приведенном выше вызове происходит переход по URL-адресу и возвращаются значения, но мне также необходимо изменить текущий URL-адрес на последний URL-адрес. Как я могу обновить URL?
Какой бы URL я ни нажимал, этот URL должен быть обновлен как текущий URL браузера
3 ответа
Вероятно, вам следует использовать History API, он позволяет вести историю браузера.
function nextPage(currentPage, totalPageCount) {
alert(currentPage+ " Begin nextPage Method " + totalPageCount);
var nextPage = currentPage+1;
var ctx = "${context}";
var url = ctx+"/adtrack/storelist/National/1/"+nextPage;
console.log(url);
if(nextPage <= totalPageCount)
{
jQuery.ajax({
url: url,
type: "GET",
success: function(msg) {
alert("Success");
/* History API goes below, replace /testurl with the string you want */
window.history.pushState(null, null, '/testurl');
},
error : function(msg) {
alert("Fail");
}
});
}
else{
alert("Unable to perform the action!!!");
}
// return true or false, depending on whether you want to allow the `href` property to follow through or not
}
Просто имейте в виду, что некоторые старые браузеры могут не поддерживать его
http://caniuse.com/#feat=history
Подробнее об истории API здесь
https://css-tricks.com/using-the-html5-history-api/
https://developer.mozilla.org/en-US/docs/Web/API/History_API
Следующий код защитит страницу от обновления и просто изменит URL.
history.pushState({id: '<SOME-ID>'}, '', 'newUrl');
Для получения дополнительной информации см. https://rosspenman.com/pushstate-jquery/.
Привет, я предлагаю попытаться объявить переменную nextPage как глобальную переменную, потому что всякий раз, когда вы нажимаете эту функцию, этому значению будет присваиваться новое значение.
var nextPage=0;
function nextPage(currentPage, totalPageCount) {
/......../
nextPage= currentPage+1;
/......../
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.