2015-05-04 12 views
7

Sto cercando un modo in cui posso usare un JSON come un file di configurazione,Come utilizzare JSON come file di configurazione con JavaScript

mio file di configurazione JSON assomiglia:

{ 
'Lang' : 'EN', 
'URL' : '/over/dose/app' 
} 

e voglio ottenere l'URL e Lang nel file html utilizzando javascript o jQuery. Non voglio usare un metodo asincrono come $.getJson.

voglio ottenere l'URL e la lingua da JSON lima qualcosa di simile:

var url = myjson.URL; 

modo da poter utilizzare il var tardi in tante funzioni diverse.

+2

Beh, prima bisogna avere JSON. Quello che hai postato non è JSON. – JMM

+1

Nel browser o nel server? – slebetman

+0

nel server, il JSON si trova sullo stesso dominio –

risposta

14

Se non si desidera utilizzare una chiamata asincrona è sempre possibile assegnare una variabile all'oggetto config e mettere il file nella src di un tag script

var appConfig={ 
    'Lang' : 'EN', 
    'URL' : '/over/dose/app' 
} 

.

<script src="/path/to/config.js"></script> 
<script> alert(appConfig.URL);</script> 

Il vantaggio è il caricamento immediato. Possibile svantaggio è che non è più un file JSON, è normale file javascript nel caso in cui si sta scrivendo dal codice del server

Naturalmente questo crea anche una variabile globale.

0

qualcosa come

var cfg = {}; 
$.ajax({ 
    url: myUrl, 
    async: false, 
    success: function(data) { 
    cfg = JSON.parse(data); 
    } 
}); 
+2

Non utilizzare 'async: false'. È una pratica terribile ed è già stata deprecata dai venditori di browser e da jQuery – charlietfl

+3

Si noti che 'async: false' è deprecato in 1.8+ ed è probabile che venga rimosso in una versione futura. –

+0

interessante. qualcosa di nuovo per farlo sincronizzare? – Mephiztopheles

Problemi correlati