javascript - texto - Renderizar a JS con Jinja produce un número no válido en lugar de una cadena
parsefloat javascript (1)
Quiero pasar una cadena a algún JavaScript en una plantilla. Sin embargo, la cadena se interpreta como un número (no válido) cuando se ejecuta JavaScript. ¿Cómo paso una cadena a una variable de JavaScript?
@app.route(''/loadNext'')
def loadNext():
return render_template(''next.html'', value=''1.1.1.1'')
$("#loadtable").ready(
function(){
var tmp = {{ value }};
alert(tmp);
});
El problema es ese
{{ ''1.1.1.1'' }}
se presenta como
1.1.1.1
Las cotizaciones no están incluidas. JavaScript intenta analizar esto como un número y no puede. Afortunadamente, Flask incluye un filtro Jinja para esto.
var tmp = {{ value|tojson }};
tojson
incluirá comillas alrededor de las cadenas y las omitirá para los valores numéricos.
El valor filtrado, cuando lo representa Jinja, es JavaScript válido con el tipo correcto.