Ajax-Anfragen durch MVC Framework (z ColdBox) oder nicht?
-
05-07-2019 - |
Frage
Haben Sie AJAX-Anfragen durch den MVC-Framework der Wahl abfeuern, oder direkt an dem CFC?
Ich bin Neigung in Richtung der MVC umgeht, da ich keine ‚Ansicht‘ aus der Ajax-Request müssen.
Was sind die Profis von Routing-Ajax-Anrufe über MVC-Framework, wie Coldbox?
Update: fanden diese Seite http://ortus.svnrepository.com/ Coldbox / trac.cgi / wiki / cbAjaxHints , aber ich versuche immer noch die meiner Meinung nach um wickeln, welche Vorteile es über die Komplexität bringt es bringt ...
Lösung
Henry, ich mache meine Ajax-Anfragen zu Proxy-Objekten meines Modells. Normalerweise bin ich außerhalb eines ‚Rahmen‘, wenn dies zu tun. Davon abgesehen, kann es (sehr) notwendig sein, Ihre Rahmen, wie arbeiten innerhalb eines festgelegten Sicherheitsmodell zu nutzen.
Andere Tipps
Ich kann wirklich keinen Nutzen sehen die MVC-Framework zu umgehen -. In Kombination, diese drei Elemente sind Ihre Anwendung
Ihre Ajax-Elemente sind wirklich Teil der Ansicht. Wie Luca sagt, gibt die Ansicht, die die Ergebnisse des Modells und Controller.
Schauen Sie sich es auf diese Weise - wenn Sie ein iPhone freundliche Web-Schnittstelle hergestellt (das heißt, eine neue Ansicht), würden Sie umgehen das Modell und Controller
?Luis Majano, der Schöpfer von ColdBox sagte :
Dies sind die beiden Schulen von Ajax Interaktion henry.
Ich ziehe den Proxy-Ansatz, weil es folgend ergänzt:
- Debuggen
- im Debugger Tracing
- AOP Schnittpunkte
- Sicherheit
- Einstellung Verfügbarkeit
- Der Proxy wird das Ereignismodell Relais, so kann ich lokales Abhören verwenden Punkte, lokaler AOP, Plugins, etc.
Mit anderen Worten, es kann ein hoch sein wachten Anruf anstelle eines einfachen Service cfc Anruf, wo Sie noch tun.
ich, für einen, lieben meine Ausführung haben Profiler Laufen (Teil des Coldbox Debugger), ich kann so sehen, wenn Ajax Anfragen kommen und wenn sie kommen, aus. Ich kann sehen, die Daten angefordert und die Daten zurückgeschickt. Ich habe nicht zu Blick in Log-Dateien, oder versuchen, sich vorzustellen, Ergebnisse oder Probleme. Es hilft wirklich, out bei der Fehlersuche.
Allerdings wäre es ein Entwickler sein Wahl, auf welche Weise Sie gehen entscheiden. Meine persönliche Präferenz ist immer verwenden, um meine Proxy Ereignis Delegation denn es gibt mir viel mehr Flexibilität, Debuggen und Frieden Geist.
Der Zweck der „Ansicht“ in MVC-Frameworks ist es, Show die Daten nach dem „Modell“ und „Controller“ haben sie erzeugt. Wenn Sie die „Ansicht“ nicht benötigen, was ist dann der Punkt, der unter Verwendung eines solchen Entwurfsmuster?
Ich bin mit Luca. Es umgeht auch jede Art von Hygienisierung und Filterlogik Sie in Ihrem MC-Stack haben. Sie negiert im Grunde jede Art von Abfrageverarbeitung, die Sie kann oder nicht an der richtigen Stelle kann.
Ja, ich würde Ihr Rahmen nicht umgehen, herauszufinden, was Sie Schmerz verursacht und jagen die beanstandeten Stücke nach unten, Logik Hinzufügen von gemeinsamen Komponenten auszuschließen wie Kopf- oder Fußzeilen, und suchen nach Methoden Leerzeichen Injektion, dass, während in Ordnung für html ärgerlich oder unten rechts problematisch, wenn das Parsen json.
Hinzufügen output = „false“ vor allem in Ihrem Application.cfc und es ist Methode das erste, was ich aufgeräumt sein würde.
Ich bin ein überzeugter Anhänger NIE die CFC direkt direkten Zugriff, finde ich es langfristige Probleme schafft, wenn eine größere refactor möchten vielleicht Komponenten konsolidieren oder zu beseitigen, die möglicherweise die direkte Zugriffe diese schwieriger als es sein sollte, vor allem, wenn ein dritte Ihre ajax aus einer anderen Domäne (zB Flash Remoting) trifft.
1 zu Steves Antwort.