Estoy usando ASP.net MVC3 y me devolvió un modelo que está en formato Json con Jquery.AJAX y luego me pase en una plantilla de Jquery para ser impresos.

Por ejemplo el Json que el servidor devuelve es
{"Key":2,"Content":"I'm Jason\u003cbr /\u003ehow are you"}
en lugar de
{"Key":2,"Content":"I'm Jason <br /> how are you"}

cuando me anexar dentro de un Div con Jquery plantilla, no se imprime algo como esto:

I'm Jason <br /> how are you

mientras que la intención debe ser el resultado de

I'm Jason 
how are you

Am supongo que para evitar que el servidor de la codificación de la cadena en el lado del servidor? Pero creo que esto puede causar problemas de seguridad.
Por lo tanto creo que tengo para decodificar la cadena Json en el lado del cliente, pero sin suerte hasta el momento. ¿Alguien puede mostrarme un modo apropiado para tratar con este tipo de problema?
Gracias

*Actualizado

He probado con jQuery('#someDiv').append(data.Content); y de impresión a cabo como se planeó.

Así que el problema está probablemente en relación con la plantilla de Jquery

Estoy usando este código para pasar los datos a la plantilla de Jquery jQuery('#someTemplate').tmpl(data).appendTo('#someDiv');


Mi plantilla de Jquery

<script id="someTemplate" type="text/x-jquery-tmpl">
 <div>${Content}</div>
</script>
  • ¿Cómo procesar los datos en JSON?

3 Comentarios

  1. 1

    Me encontré con este mismo problema. No hay necesidad de codificar/decodificar o de escape/unescape.

    Lugar de este:

    ${Content}

    Usar este:

    {{html Content}}

    El unicode se muestra como HTML.

    • Esto funciona de maravilla.
  2. 0

    Debe unescape su cadena de Contenido, por ejemplo:

    alert(unescape('\u003cbr /\u003e'));
    • No hay necesidad de escapar los caracteres unicode en cadena json, por ejemplo, «El IVA de su compra será facturada \u0020 dentro de los próximos 5 días», funciona bien. Lo he probado.
  3. 0

    Tengo el mismo problema con ajax plantillas. la cadena tiene un \n lo que se ignora en la plantilla y si tengo que convertir el \n a <br/>, a continuación, el <br /> se muestra en lugar de el salto de línea.

    si puedo usar {{ unscape(myString) }}, a continuación, el resultado es todavía «un poco de texto <br /> siguiente línea’

Dejar respuesta

Please enter your comment!
Please enter your name here