2014-11-17 10 views
6

Ho un'app web Python Flask che voglio passare un set di dati del dizionario da a javascript, Sto provando a JSON Posso passare i numeri bene ma sembra che ci sia un errore durante l'uso stringhe.Importazione del dizionario JSON Python Flask nell'errore javascript

Ecco il frammento di codice del pitone generare la stringa JSON: view.py


def dumpdata(): 
DB_name={"name":"aaragh"} 
strng=json.dumps(DB_name) 
return render_template('dumpdata.html',result = strng) 

Ecco il file di ricezione HTML dumpdata.html


<html><body> 
<p >{{ result }}</a> 
<script> 
var data = JSON.parse({{result}}); 
console.log(data.name); 
</script> 
</body></html> 

Ecco il messaggio di errore e l'output della console: conso lelog


SyntaxError: invalid DumpData immobile: 4

<html><body> 
<p >{&#34;name&#34;: &#34;aaragh&#34;}</a> 
<script> 
var data = JSON.parse({&#34;name&#34;: &#34;aaragh&#34;}); 
console.log(data.name); 
</script> 
</body></html> 

io non penso che sia rilevante, ma ottengo lo stesso errore sia su ubuntu Chrome e IE vincere.

Qualche idea? Penso che mi manca qualcosa ovvio, ma ho sbattuto la testa contro questo per giorni e ancora non sono riuscito a trovare una soluzione ...

Grazie

risposta

7

Date un'occhiata al il filtro modello |safe:

<html><body> 
<p >{{ result|safe }}</a> 
<script> 
var data = JSON.parse({{ result|safe }}); 
console.log(data.name); 
</script> 
</body></html> 

Flask docs mention
Jinja docs mention

+0

Grazie, ho applicato il suo suggerimento per includere il filtro template | sicuro e il codice funziona perfettamente! Grazie – tuetates