У меня есть кнопка (setarea) на моей странице, которая устанавливает переменную сеанса при нажатии. На странице есть несколько других полей, которые изменяются в зависимости от этой переменной сеанса. Поэтому при каждом нажатии этой кнопки я хочу автоматически обновлять всю страницу, чтобы другие поля обновлялись с новым значением переменной сеанса. Вот мой код:Ручное обновление против location.reload
function setarea(){
var area_id = jq("#splash_area").val();
jq.ajax({
type: 'POST',
url: '<?php echo Mage::getBaseUrl(); ?>setsession/index/setarea',
data: {area_id:area_id},
success: function(data) {
}
});
window.location.reload(true);
}
Используя этот код, страница обновляется, но переменной сессии не обновляется - она остается такой же, как и раньше.
Интересная часть заключается в том, что когда я обновляю вручную, используя F5, страница обновляется правильно.
Что я здесь делаю неправильно?
Возможно, страница обновляется до возврата запроса ajax. Попробуйте переместить 'window.location.reload (true);' внутрь функции успеха ajax. – Terminus
Это правильный ответ ... Спасибо Terminus! Пожалуйста, напишите как ответ, чтобы я мог отметить его как правильный ответ. – coderatlarge