[PYTHON] Eine Bibliothek, die gut zu wissen scheint, wenn sie zu AJAX-Nicht-AJAX-WEB-Diensten gezwungen wird

Es scheint ein kleiner loser Satz zu sein. Bitte Dating bitte. Jetzt···

Zum Beispiel gibt es eine TOP-Seite auf einer Einkaufsseite oder so, und es gibt einen Teil der neuen Artikel darin, und die Häufigkeit des Hinzufügens von Produkten ist hoch, und Kunden fordern Unmittelbarkeit, aber die TOP-Seite enthält neue Artikel. Angenommen, es wurde so konzipiert, dass es mit einem einzigen HTML-Code fest auf der Serverseite geschrieben wird. Wenn Sie dies tun, müssen Sie die gesamte TOP-Seite neu laden, um neue Elemente neu zu laden. Sie können also entweder die gesamte Seite automatisch mit JS neu laden, oder nein, es kann keine solchen Umstände geben. Machen Sie es also zu Ajax. Es wird ein teilweises Nachladen sein.

In der Regel werden hier zwei Ajax-Entwurfsmethoden berücksichtigt.

zunaechst.

Holen Sie sich neue Elemente als Text / HTML vom Server.

Mit anderen Worten, HTML wird auf der Serverseite generiert. Insbesondere auf der Serverseite scheint es, als würde eine Teilvorlage für neue Elemente ausgeschnitten und eine neue Route und Controller :: -Methode () hinzugefügt.

zweite.

Rufen Sie nur die für das DOM für neue Elemente erforderlichen Daten vom Server als application / json ab.

Mit anderen Worten, HTML wird auf der Clientseite generiert. Insbesondere auf der Clientseite empfiehlt es sich, die Vorlage des Teils "Neue Elemente" mithilfe der jQuery-Vorlage oder AngularJS einzubetten, den von Ajax empfangenen JSON zuzuweisen und zu rendern. Oh, wir werden auch route und controller :: method () hinzufügen.

(Eine dritte hybride Methode besteht darin, den ersten JSON als Teil von text / html zu exportieren, obwohl ich es nie getan habe).

Vergleichen Sie nun die beiden, Ersteres in Bezug auf ** Leichtigkeit ** Letzteres in Bezug auf ** API-Vielseitigkeit **, Sind wahrscheinlich einander überlegen.

Letzteres empfehle ich. Es ist ein wunderschönes Design, und in einigen Fällen kann es ein Sprungbrett sein, offene APIs vorzuschlagen (= neue Jobs erstellen). Nun, das ist in Ordnung ...

Übrigens, wenn Sie neben jQuery und AngularJS Gonyo Gonyo das letztere anstelle des ersteren wählen, wird es weitere Probleme geben. Die mit dem serverseitigen Anwendungsframework gebündelte Template-Engine verfügt normalerweise über eine Filterfunktion, die von einigen verwendet wird. Sie müssen sie daher durch eine JS-Implementierung ersetzen.

Zum Beispiel in der Steuerung $datetime = '2014-03-13T12:34:56.888Z'; In der Vorlagen-Engine wird der Wert als zugewiesen

<?php echo date('Y Jahr n Monat d Tag h:m', strtotime($datetime)); ?>

Es ist ein wenig schwierig, wenn Sie es so aufschreiben. Sie können den Datumsteil (...) auf der Serverseite berechnen und in JSON übergeben. Wenn Sie dies jedoch tun, nimmt die Vielseitigkeit als API stark ab.

Hier kommt phpjs ins Spiel. (Hauptthema)

https://github.com/kvz/phpjs Es ist schnell, weil Sie die leistungsstarken Funktionen von PHP in JS mit derselben Schnittstelle verwenden können. Wenn Sie dies verwenden und in JS neu schreiben, wird es einfach. Ich bin glücklich.

In Python Django gibt es übrigens etwas Ähnliches. https://github.com/dryan/django-filters-js (Ruby wurde nicht gefunden ...)

Es ist ein hinterhältiger Ansatz, aber eine gute Option. Vielleicht kann ich heute früh nach Hause gehen.

Das ist es!


Ankündigung

Es ist eine Werbung, aber dieser Eintrag ist auch verwandt,

2ch Zusammenfassung Polizeichef β

http://j.inthemaking.net/ Ich habe versucht, es zu schaffen. Sie können es auf Ihrem PC sehen, aber es ist für Smartphones. Wenn es Ihnen nichts ausmacht, würde ich mich freuen, wenn Sie damit die Zeit totzuschlagen könnten.

Recommended Posts

Eine Bibliothek, die gut zu wissen scheint, wenn sie zu AJAX-Nicht-AJAX-WEB-Diensten gezwungen wird
Python-Spezialcodec, der zu wissen scheint, aber nicht weiß
So installieren Sie die Python-Bibliothek, die von Pharmaunternehmen verwendet werden kann
[Python] Eine praktische Bibliothek, die Kanji in Hiragana konvertiert