2011-02-10 10 views
16

IE8/Chrome, FF działa dobrze, ale Internet Explorer 7 sprawia mi ból głowy.Problem z JSONem w Internet Explorerze 7

Próbuję uzyskać wynik liczbowy dla rzeczywistej postaci

$(".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) { 
} 

Co zrobiłem źle, że IE7 nie będzie działać?

Dzięki

Odpowiedz

30

JSON.stringify nie jest częścią IE7.

Będziesz musiał użyć realizacji JavaScript Douglasa Crockforda za tego:

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

Dokładniej ten skrypt:

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

doda się stringify i analizowania metod do przeglądarki które nie implementują tego natywnie (jak IE7 i poniżej)

+5

BTW nie musisz używać js na stringify, jako parametr danych w $ .ajax możesz użyć całego obiektu. – MarrLiss

+0

dzięki tej odpowiedzi pomógł mi ... +1 dla pomocnej odpowiedzi i -1 dla IE. – Pranav

+0

@MarrLiss Masz na myśli w IE7, nie musimy robić Stringify? Nie mogę go uruchomić (bez żadnego pliku) – Lijo

Powiązane problemy