0

IE8 以前でアプリケーションを実行しているときに受け取る一連のエラーを取り除く方法を理解するのに問題があります。最初のエラーは jquery.mi.js スクリプトに表示されます: 「JSON が宣言されていません」。そもそもJSONが宣言されていないため、「オブジェクトが指定されていません」や「$が宣言されていません」などのエラーが表示されます。IE9 と 10 は、他のすべてのブラウザーと同様にアプリケーションを問題なく実行します。

次の index.html ヘッダーでわかるように、jquery.min.js スクリプトが最初に読み込まれます。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="NAPSitesHead">
<title>Site Search</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false" type="text/javascript"></script>
<script src="js/geo.js?id=1" type="text/javascript"></script>
<script src="js/index.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" media="screen,print" href="CSS/CommonSS.css"/> 
</head>

同様の問題について多くの投稿や議論を見ましたが、それらの解決策/提案はどれも私の場合には当てはまらないようです。

アイデアをありがとう、Jacek

jquery のバージョンを 1.10.1 に変更した後に編集:

現在エラーを引き起こしている ajax 呼び出しは次のとおりです。

function KenMapLoad(KenID, AddrPart, SearchTxt, RBSearchType)
{
$.ajax({
    type: "POST",
    url: "WebSVC.asmx/KenMapSites",
    data: "{KenID:'" + KenID + "', AddrPart:'" + AddrPart + "', SearchTxt:'" + SearchTxt + "', RBSearchType:'" + RBSearchType + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data)
    {
        var locs = [];
        //line below causes "JSON not defined" error
        var objSites = JSON.parse(data.d);

        $.each(objSites, function (i, item)
        {
            locs.push([item.LocNmKanji, item.Address, item.TelNo, item.MachServ, item.Access, item.Latitude, item.Longitude]);
        });
        //Puting extracted locations on the map:
        PutMarkersOnMap(locs, 0);
    },
    error: function (error)
    {
        alert('県リスト読み込みエラー: ' + error.status);
    }
});

};

4

1 に答える 1