Stiamo cercando di migliorare continuamente la nostra base di codice sorgente e di recente è emersa una domanda che apre una nuova area di miglioramento. Dove è meglio inserire gli URL necessari in JavaScript?
- Inseriamo gli URL nei file JavaScript stessi?
function onButtonClick() { $.ajax({url:"/my/url/directly/in/the/javascript"}); }
Nota: la stringa magica sopra è incidentale. Potrebbe esserci un oggetto che restituisce URL o altro. Il punto è che gli URL sono memorizzati nei file JavaScript.
- Abbiamo qualche meccanismo per iniettare gli URL nel JavaScript. per esempio. Avere un piccolo script nella pagina che configura gli URL dai quali può accedere il JavaScript nei file.
<script> var ps = new pageScript(); ps.initUrls({someUrl:<%= Url.Action("SomeAction", "SomeController").ToJson() %>); ps.run(); </script>
Il metodo .ToJson()
è un metodo di estensione che trasforma un oggetto nella sua versione serializzata JSON, quindi, per una stringa, emette le virgolette e lo scappa se necessario.
Quindi nel file JavaScript può raccogliere gli URL da dove la funzione initUrls () li ha memorizzati.
function onButtonClick() { $.ajax(myUrls.someUrl); }
- O qualcos'altro?
Usiamo già 1 e 2 nella nostra base di codice da vari sviluppatori nel corso degli anni, ma c'è un modo migliore? O è una delle soluzioni sopra indicate?