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?