Проблема с JSON в Internet Explorer 7 - PullRequest
16 голосов
/ 10 февраля 2011

IE8 / Chrome, FF работают хорошо, но Internet Explorer 7 доставляет мне головную боль.

Я пытаюсь получить числовой результат для фактической формы

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

Что я сделал не так, что IE7 не будет работать?

Спасибо

1 Ответ

30 голосов
/ 10 февраля 2011

JSON.stringify не является частью IE7.

Вам придется использовать реализацию Дугласа Крокфорда на JavaScript:

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

Более конкретно, этот скрипт:

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

Он добавит в браузер методы stringify и parse, которые не поддерживают эту функцию (например, IE7 и ниже)

...