我无法弄清楚如何摆脱在 IE8 及更早版本中运行我的应用程序时收到的一系列错误。jquery.mi.js 脚本中显示的第一个错误:“未声明 JSON”。显然,由于 JSON 没有首先声明,因此会弹出“未指定对象”或“未声明 $”等其他错误。IE9 和 10 与所有其他浏览器一样完美地运行该应用程序。
jquery.min.js 脚本首先加载,您可以在以下 index.html 标头中看到:
<!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);
}
});
};