Was ist der richtige Weg, um alle Elemente einer gerenderten Seite über AJAX zu aktualisieren?
-
23-09-2019 - |
Frage
Ich habe eine komplizierte Seite, die von PHP gerendert wird und möchte alle Elemente der Seite über AJAX -lange Umfragen auf dem neuesten Stand halten. Gibt es eine allgemeine / clevere Möglichkeit, eine Infrastruktur zu entwerfen, um dies zu unterstützen, ohne jedes Element manuell angeben zu müssen, um sie zu aktualisieren? Auf der Suche nach Ideen. Vielen Dank!
Lösung
Mit JQuery sende ich eine von Kommas getrennte Liste von JQuery-Selektoren, um auf den Server zu aktualisieren. Der Server wird letztendlich reagieren, indem er diese Selektoren liest und die HTML erstellt, um die Elemente zu füllen, die den Selektoren entsprechen:
$.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
Der Server antwortet, indem er JSON mit der folgenden Struktur an den Client sendet:
{"#someDiv":"this is some HTML to fill up div with ID someDiv","#someOtherElement":"here is some more HTML","#someTable":"here is some more HTML"}
Andere Tipps
Fügen Sie möglicherweise allen Elementen eine spezielle Klasse hinzu, die über AJAX aktualisiert werden sollen, und Sie können zum Beispiel zusätzliche Daten in einigen anderen Attributen codieren
<a class="ajaxUpdate" data="{'a':'json or whatever', 'put whatever here':'ok'}">test</a>
Dann können Sie mit JQuery diese Daten problemlos herausziehen und bewerten und in Ihrem Ajax verwenden
Sie können Web-Part-Seiten verwenden und über SharePoint Designer anpassen, aber die fortschrittlicheren Anpassungen von Seiten durch Design Manager sind leider in der SharePoint 2013-Stiftung nicht verfügbar.
Halten Sie die Struktur Ihrer Seitenelemente als private Daten und verfügen Sie über die öffentlichen Elemente, um sie zu aktualisieren
var page = (function(){
var private_data = {
//json
};
return {
workOnData : function(){//process the data}
}
})()
Dies ist ein guter Weg, um Ihre Seiten Daten sicher und reibungslos zu halten.
Wie in Ihrer Frage kann ich sehen, dass Sie zwei Klassen erstellt haben und sie sind
- .
- version.class
- open.class
woher bekommt man "Titlescreen" -Klati ...
Sie haben die Hauptmethode nur in Version.CLASS. Die Haupt- () -Methode der Version.CLASS kann also nur der Einstiegspunkt sein.
Sie können das Programm wie folgt ausführen:
Java-Version Titlescreen
Titlescreen kann die Eingabe dieses Programms sein.