2011-02-10 27 views
16

IE8/Chrome, FF funciona bien, pero Internet Explorer 7 me está dando dolores de cabeza.Problema con JSON en Internet Explorer 7

Estoy tratando de obtener un resultado numérico de forma real

$(".checklist label").click(function() { 
    checkResults(); 
}); 

function checkResults() { 
    var str = $("form").serializeArray(); 
    $.ajax({ 
     type: "POST", 
     url: "/data.asmx/GetTotal", 
     cache: false, 
     contentType: "application/json; charset=utf-8", 
     data: JSON.stringify({ data: str }), 
     dataType: "json", 
     success: handleHtml, 
     error: ajaxFailed 
    }); 
} 

function handleHtml(msg) { 
    $("#result").text(msg.d); 
} 

function ajaxFailed(xmlRequest) { 
} 

¿Qué he hecho mal que IE7 no trabajará?

Gracias

Respuesta

30

JSON.stringify no es parte de IE7.

Vas a tener que utilizar la aplicación de Douglas Crockford JavaScript de esto:

https://github.com/douglascrockford/JSON-js

Más específicamente, esta secuencia de comandos:

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

Se añadirá el stringify y analizar métodos para el navegador que no lo implementan de forma nativa (como IE7 y abajo)

+5

BTW no tiene que usar js en stringify, como parámetro de datos en $ .ajax puedes usar todo el objeto. – MarrLiss

+0

gracias esta respuesta me ayudó ... +1 a la respuesta útil y -1 a IE. – Pranav

+0

@MarrLiss ¿Quiere decir en IE7 que no necesitamos hacer Stringify? No puedo ponerlo en funcionamiento (sin ningún archivo agregado) – Lijo

Cuestiones relacionadas