2011-02-10 11 views
16

IE8/Chrome、FFはうまく動作しますが、Internet Explorer 7では頭がおかしくなります。Internet Explorer 7のJSONに関する問題

私はIE7が文句を言わない仕事という間違った何をした?

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

実際のフォームのための数値の結果を取得しようとしています

ありがとうございます。

答えて

30

JSON.stringifyはIE7の一部ではありません。

あなたがこののダグラス・クロックフォードのJavaScript実装を使用する必要があります:

具体的には、このスクリプト

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

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

それは文字列化を追加し、ブラウザにメソッドを解析しますこれはネイティブにこれを実装していません(IE7以下など)

+5

あなたはjsを使う必要はありませんstringifyで、$ .ajaxのデータパラメータとしてオブジェクト全体を使用できます。 – MarrLiss

+0

この回答はありがたいです。私は助けてくれました。 – Pranav

+0

@MarrLiss IE7ではStringifyをする必要はないのですか? – Lijo

関連する問題