2016-12-07 16 views
6

Мне нужно перезагрузить страницу с успехом вызова ajax.Перезагрузите страницу с адресом location.href или window.location.reload (true)

Я вижу некоторый код (не мой), и есть два пути:

success : function(obj) { 
//code 
     location.href = location.href; 
    } 

или

success : function(obj) { 
//code 
     window.location.reload(true); 
    } 

Есть ли какая-то разница в поведении? Я знаю разницу как в местоположении, так и в window.location, но с точки зрения выполнения задания?

+3

Возможный дубликат [Разница между window.location.href = window.location.href и window.location.reload()] (http://stackoverflow.com/questions/2405117/difference-between-window-location- href-window-location-href-and-window-location) –

+2

'window.location.reload (true);' перезагружает страницу с сервера, а не из кэша, 'window.location.reload();' будет делайте то же самое, что и 'location.href = location.href;' за исключением того, что 'window.location.reload()' включает сообщение. –

ответ

8

Основное различие заключается следовать:

window.location.reload() перезагружает текущую страницу с POST данных, в то время как window.location.href = 'Ваш URL не включает данные POST.

Далее, window.location.reload(true) метод перезагрузки страницы с сервера. И браузер пропустит кеш.

Например, я вижу, что вы используете функцию success из запроса AJAX.

Предположим, у вас есть способ следовать:

[OutputCache(Duration=600)] 
public ActionResult Homepage(){ 
    //code here 
    return View(); 
} 

Если вы используете window.location.href="location_URL", то данные кэша браузера для 600 секунд, что означает 10 минут.

С другой стороны, если вы используете window.location.reload(true), тогда браузер пропустит кеш и перезагрузит страницу с сервера.

+0

Хорошо, спасибо. Это то, что мне нужно, для перезагрузки с сервера. – pmirnd