Arcgis Server JS 开发,一个奇怪的问题(dojo未定义、机器名不能访问)
来源:互联网 发布:日本玫瑰香体糖 知乎 编辑:程序博客网 时间:2024/06/06 11:05
最近在做ArcGIS Server JS 的开发。JS API布署在本机上,并通过机器名进行访问。访问的相关代码如下。
- <script type="text/javascript" src="http://MyServer/arcgis_js_api/library/2.1/arcgis/?v=2.1"></script>
- <script type="text/javascript">
dojo.require("esri.map");
dojo.require("esri.toolbars.edit");
dojo.require("esri.layers.FeatureLayer");
dojo.require("dijit.form.CheckBox");
var map; - </script>
其中MyServer 是本机的机器名,周五下班时,程序跑起来还是正常的,周一来上班时,出现 “dojo未定义”的错误!!
通过在浏览器器中输入URL地址:http://MyServer/arcgis_js_api/library/2.1/arcgis/?v=2.1 可以访问到API资源。奇怪,为什么程序出错了呢??
搞古了半天,心想重装系吧,唉,就这样一个莫名奇妙的错误重装系统,代价太大了,而且原因没找到,说不定以后哪天又会遇到。总得有一个解决方案吧。用排除法吧,根据提的错误,很两种可能: 一是:有可能JS API根本就没有加载。二是:程序有错误。于是采取下面的方式来排除:
从ArcGIS 网站下,拷贝一个DEMO程序,到VS2005中,运行,可以正确访问到地图。然后将API的引用地址,改成本机的,运行,一样的错误。这说明程序本身应该没有问题,问题出在本机上的API不能被访问到。
然后想到,在另一台机器上布署API,并通过本机访问。对,这是一个好办法,结果在另一台机器布置好API,在本机上去访问,先通本机的浏览器去访问一下吧,输入http://对方的机器名/…………结果,不能访问!!!于是, ping 对方机器名,也没有ping通,哦,问题找到了:本机不能通过机器名访问其它机器!!!!
然后,前面访问本机的JS API时,是通过本机机器名访问的,而通过 ping 本机机器名是可以ping 通的,通过浏览器器访问本机机器名也是可以访问的,为什么程序运行时就不能通过本机的机器名访问呢??????
问题现在变成了:通过机器名不能访问其它机器的资源!!!
于是上百度去查,通过机器名不能访问其它机器是怎么回事,查了半天,未果,最后有人提醒是不是你的子网掩码有问题???哦,查一下吧:
255.255.0.0 ????(本机掩码)
再一看同一个局域网其他人的:
他们的是255.255.255.0 !!!!
于是把本机的掩码改成: 255.255.255.0,一系列问题都解决了!!!!!
总结:当本机的子网掩码更改后,本机还可以通过网关上网,还能够通过IP访问其他机器,还能够通过机器名访问自已的机器。
但是在 arcgis api 调用过程序,通过机器名访本机上的API时,出现问题。估计是通过“<script type="text/javascript" src="http://MyServer/arcgis_js_api/library/2.1/arcgis/?v=2.1"></script>”访问本机时,是通过了路由器再来访问本机的API,结果由于 子网掩码错误,结果找不到资源。所以要注意了“通过代去访问某台机器上的资源”和“通过浏览器去访问某台机器上的资源”多少还是有一点区别的。而恰恰是这一样区别会导致和掩盖一系统莫名其妙的错误。
设想一下,如果子网掩码设置有误,又把本机网上拔掉,应该程序运行为正常,因为这时的访问不用经过路由器,就可以通过机器名访问到相关资源了。
一个小小的失误,浪费了我半天的时间去查找,写下这篇博文以示记念.
- Arcgis Server JS 开发,一个奇怪的问题(dojo未定义、机器名不能访问)
- Arcgis javascript api离线地图开发环境搭建- dojo未定义- flex安全沙箱问题
- Arcgis Server 10.1发布服务调用提示“dojo未定义”
- 一个奇怪的sql server profiler问题
- 用arcgis server发布地图服务并建立缓存后,局域网内机器不能访问缓存图像的可能原因
- ArcGIS Server 10.1在Windows Server 2008中的机器名问题
- ArcGIS Web客户端开发(附录)关于Dojo的基本知识
- SQLServer的一个奇怪问题:数据库文件不能大于4G?
- arcgis server安装后manager不能访问
- SQL Server 2008 能用机器名连接,不能用IP地址连接问题 的一个解决方法
- 记一个奇怪js问题
- Struts2中的url-pattern带来的dojo未定义的问题
- 奇怪的JS问题
- JS的奇怪问题
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- Lucene学习总结之七:Lucene搜索过程解析(2)
- ASP.NET中JSON的序列化和反序列化
- 4.8 自定义下拉菜单模式Spinner与setDropDownViewResource
- 文件上传
- #include 求数据类型的最值
- Arcgis Server JS 开发,一个奇怪的问题(dojo未定义、机器名不能访问)
- windows下redmine的安装以及常见的问题的解决
- 复制表中指定位置的数据行,并返回列表
- Lucene学习总结之七:Lucene搜索过程解析(3)
- vc 指定控件鼠标右键菜单
- Emacs shortkey Bak
- 火狐最近flash崩溃问题的解决方法
- Javascript prototype 原型链
- 合并两个表中的数据