3 Stimmen

ist es gute Praxis, ein globales urls-Objekt in Javascript zu erstellen, für einfache Reverse-Routing in Vorlagen?

Ich arbeite an einem Webprojekt, das viel Ajax verwendet. Ich verwende Playframework, und in meinen HTML-Vorlagen habe ich Zugriff auf den Reverse-Router von Playframework, so dass ich die URLs vom Router abrufen kann und mir keine Gedanken darüber machen muss, was passiert, wenn ich später beschließe, die URL-Struktur der Website zu ändern. Ich habe jedoch keinen Zugriff auf den Reverse-Router in den externen js-Dateien, möchte aber oft die Umleitung des Reverse-Routers für Anfragen in diesen Dateien nutzen.

Ich kam mit einer Lösung, die nicht jede externe Ajax-Funktion zwingt, einen URL-Parameter zu akzeptieren, und das war, ein globales URL-Objekt wie dieses zu erstellen:

var globalUrls = {
    confirmImageUpload : "@routes.UploadController.confirmResourceUpload()",
    anotherUrl : "@routes.AnotherController.anotherControllerMethod()"
}

Ich verwende dieses Objekt dann in den externen Js-Dateien, um zu wissen, wohin ich Ajax-Anfragen senden soll.

Ist das in Ordnung? Ich weiß nicht, ob das eine schlechte Praxis ist, oder ob es klug ist, alle URLs so zu veröffentlichen...

Ich hoffe, dass sich jemand mit Erfahrung einmischt, wenn dies aus irgendeinem Grund dumm ist...

0voto

rob Punkte 9647

Ich denke, es gibt andere Möglichkeiten, die Menge an Globals zu reduzieren und Ihre Anwendung ein wenig modularer zu gestalten, aber ohne zu sehen, wie Ihre Anwendung strukturiert ist, ist es schwer zu sagen.

Vielleicht haben Sie eine Klasse oder ein Modul, das Ihre Ajax-Abfragen verarbeitet, und Sie können die URLs darin speichern? Zum Beispiel könnte es eine Methode "setDefaultAjaxServerAddresses()" haben. Dann würde es diese innerhalb des Moduls speichern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X