Как правильный способ обновить все элементы визуализированной страницы через Ajax?
-
23-09-2019 - |
Вопрос
У меня есть сложная страница, которая оказалась PHP, и я хотел бы держать все элементы страницы в актуальности с помощью длинного опроса Ajax. Есть ли какой -то общий / умный способ разработки инфраструктуры для поддержки этого без необходимости указать вручную каждый элемент для обновления? Просто ищу идеи. Спасибо!
Решение
Используя jQuery, я бы отправил список селекторов jQuery, разделяемый запятыми, чтобы обновить на сервер. Сервер в конечном итоге ответит, прочитав эти селекторы и создав HTML, чтобы заполнить элементы, соответствующие селекторам:
$.get("/updater", { elementsToUpdate: "#someDiv,#someTable,#someOtherElement"}, function(json) {
$.each(json, function(k, v) {
// the key is the selector, the value is the
// HTML to set to that (or those) element(s):
$(k).html(v);
});
}, "json"); // we are expecting the server to return JSON
Сервер ответит, отправив JSON клиенту со следующей структурой:
{"#someDiv":"this is some HTML to fill up div with ID someDiv","#someOtherElement":"here is some more HTML","#someTable":"here is some more HTML"}
Другие советы
Может быть, добавить специальный класс ко всем элементам, которые будут обновляться через AJAX, а также вы можете кодировать дополнительные данные в некоторых других атрибутах, например, например,
<a class="ajaxUpdate" data="{'a':'json or whatever', 'put whatever here':'ok'}">test</a>
Затем с помощью jQuery вы можете легко вытащить эти данные и оценить их и использовать в своем Ajax
Вы можете использовать страницы веб-части и настроить их через SharePoint Designer, но более распространенные настройки страниц через Design Manager, к сожалению, недоступны в основании SharePoint 2013.
Сохраняйте структуру элементов ваших страниц в качестве частных данных и имейте публичные элементы для их обновления
var page = (function(){
var private_data = {
//json
};
return {
workOnData : function(){//process the data}
}
})()
Это хороший способ сохранить данные своих страниц в безопасности и плавны.
Согласно вашему вопросу, я вижу, что вы создали два класса, и они являются
- версия.class
- open.class
Откуда от вас получаю класс "Titlescreen"?
У вас есть основной метод только в версии .Class. Таким образом, основной () метод версии .Class может быть только точкой входа.
Вы можете запустить программу как следующее:
java версия titlescreen
TitlesCreen может быть входом этой программы.