Как правильный способ обновить все элементы визуализированной страницы через Ajax?

StackOverflow https://stackoverflow.com/questions/2342930

  •  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}

    }
})()

Это хороший способ сохранить данные своих страниц в безопасности и плавны.

Согласно вашему вопросу, я вижу, что вы создали два класса, и они являются

  1. версия.class
  2. open.class

    Откуда от вас получаю класс "Titlescreen"?

    У вас есть основной метод только в версии .Class. Таким образом, основной () метод версии .Class может быть только точкой входа.

    Вы можете запустить программу как следующее:

    java версия titlescreen

    TitlesCreen может быть входом этой программы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top