Qual é a maneira correta de atualizar todos os elementos de uma página renderizada via Ajax?
-
23-09-2019 - |
Pergunta
Eu tenho uma página complicada sendo renderizada pelo PHP e gostaria de manter todos os elementos da página atualizados por meio de uma pesquisa longa do Ajax. Existe algum tipo de maneira geral / inteligente de projetar uma infraestrutura para apoiar isso sem precisar especificar manualmente cada elemento para atualizar? Apenas procurando idéias. Obrigado!
Solução
Usando o jQuery, eu enviaria uma lista de seletores de jQuery separados por vírgula para atualizar para o servidor. O servidor acabará respondendo lendo esses seletores e produzindo o HTML para preencher os elementos que correspondem aos seletores:
$.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
O servidor responderá enviando JSON ao cliente com a seguinte estrutura:
{"#someDiv":"this is some HTML to fill up div with ID someDiv","#someOtherElement":"here is some more HTML","#someTable":"here is some more HTML"}
Outras dicas
Talvez adicione uma classe especial a todos os elementos a serem atualizados via Ajax, e você também pode codificar dados extras em outros atributos, por exemplo
<a class="ajaxUpdate" data="{'a':'json or whatever', 'put whatever here':'ok'}">test</a>
Então, com o jQuery, você pode facilmente extrair esses dados e avaliá -los e usá -los no seu Ajax
Você pode usar páginas de peças da Web e personalizá-las através do SharePoint Designer, mas as personalizações mais avançadas de páginas através do Design Manager infardam-se indisponíveis na Fundação SharePoint 2013.
Mantenha suas páginas os elementos da estrutura como dados privados e tenha os elementos públicos para atualizá -los
var page = (function(){
var private_data = {
//json
};
return {
workOnData : function(){//process the data}
}
})()
É uma boa maneira de manter seus dados de suas páginas seguros e suaves.
De acordo com a sua pergunta, posso ver que você criou duas classes e elas são
- .
- version.class
- open.class
onde você está recebendo classe "titlescreen"?
Você tem o método principal apenas na versão.class. Então, o método principal () da versão.class só pode ser o ponto de entrada.
Você pode executar o programa como o seguinte:
tela java titlescreen
Titlescreen pode ser a entrada deste programa.