2

私のajax応答で解析不能なクラフトを使用しています。

エラーをスローするIE7を除いて、うまく機能します。失敗の理由について何か考えはありますか?

ajax 呼び出し:

$.ajax({
        type: "POST",
         url: "js/zipcodeLookup.json", //mock json response
         contentType: "application/json",  
        dataType:"text json",
        data: "{postalcode: '" + $(myField).val() + "', country: '" + myCountry + "'}",
        success: function(data) {
            //do something here

        },
        error: function(){
        alert('failure');
      }

     });

ajax コンバーター:

    $.ajaxSetup({ 
            converters: { "text json": function (stringData) { 
                        return JSON.parse(stringData.replace('for(;;);', '')); 
            } } 
}); 

およびjson:

for(;;);{
    "isError": "false",
    "city": "Springfield",
    "juris": "IL"
}

編集

正解は、愚かにも解析メソッドを見落としていたことjQuery.parseJSON()です。代わりに使用してください。

4

1 に答える 1

3

IE <8は、のネイティブサポートを備えていませんJSON。IE7のフォールバックメカニズムはありますか?

ネイティブJSONをサポートしていないブラウザーの場合は、このライブラリを使用する必要があります

このようなフォールバックメカニズムを実装できます

<script>window.JSON|| 
    document.write("<script src='js/json2.js'>\x3C/script>")
</script>
于 2012-06-07T17:10:39.833 に答える