2013-08-29 2 views
0

У меня есть диалоговое окно jquery, которое открывает карту. Когда карта закрыта, страница обновляется. Это работает правильно. Мой вопрос в том, как я могу сделать его более эффективным. Я хочу, чтобы страница под обновлением и когда пользователь выбирает другую ссылку, которая в диалоговом окне обновляет информацию соответствующим образом. Я использую reload(), но некоторые ресурсы на странице очень большие и занимают немного времени, чтобы перезагрузить всю страницу.Обновление страницы в диалоговом окне jquery

Вот мое диалоговое окно:

function openBox(v) { 
    $("#mapDiv").dialog({ 
     autoOpen: false, 
     height: 600, 
     width: 900, 
     title: "Deomographic Profile", 
     close: function (ev, ui) { window.location.reload() } 

    }); 

    //open dialog and show the legend in the dialog 
    $("#mapDiv").dialog("open"); 
    $("#legend").show(); 
}//end open box 
+0

обновите только те материалы, которые можно изменить с помощью диалогового окна с использованием ajax-запроса вместо перезагрузки всей страницы. – Vijay

ответ

0

Вы можете просмотреть страницу, решить, какой его часть должна быть обновлена, когда карта закрывается и прикрепить идентификаторы к этим элементам. Затем вы можете вызывать метод AJAX каждый раз, когда карта закрывается, которая получает информацию, которая должна быть обновлена ​​с вашего сервера, и заполняет эти элементы информацией.

0

Тогда вы можете подумать о том, чтобы использовать Ajax, см. Там doc: http://api.jquery.com/jQuery.ajax/ Это позволяет вам изменять часть страницы без обновления. Если вы не заботитесь об интернет-обозревателе, вы можете изменить значения URL без обновления: https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history дает вам возможность иметь «историю» без изменения страницы. Если вам нужна дополнительная помощь, спросите меня, я дам вам несколько советов.

+0

просто попробовал window.location.back() i ' m не любить это для этого приложения. Я верю, что ajax будет маршрутом, но точка в правильном направлении оценивается, поскольку я новичок в ajax –

+0

Прежде всего, когда вы загружаете ajax-материал, вы не хотите перезагружать все свои активы (css , js). Поэтому в ваших php-файлах, если у вас есть файлы тезисов, добавьте параметр, например «if (! Isset ($ _ REQUEST ['ajax»]) {// echo assets} ". Затем попробуйте с этим: http://pastebin.com/gRAgxvgs Это может быть немного сложно, но есть пример ajax ($ .POST). Вы можете использовать весь этот скрипт или просто взять то, что вам нужно, я не забочусь – Bene

Смежные вопросы