[code="java"]
<br> var map;<br> var ip;<br> var info;<br> function load(){<br> var ip;<br> if(GBrowserIsCompatible()){<br> //构造地图<br> map=new GMap2(document.getElementById("map1"));<br> map.addControl(new GLargeMapControl());<br> map.addControl(new GMapTypeControl());<br> map.addControl(new GScaleControl ());<br> //设置地图中心<br> var point=new GLatLng(39.9493,116.3975);<br> var zoom=5;<br> map.setCenter(point, zoom);<br> //获取访问者IP<br> var url='catchIP.action';<br> var params=null;<br> var myAjax=new Ajax.Request(url,{method:'post',parameters:params,onComplete:searchInfo,asynchronous:true});<br> }<br> }</p> <pre><code> function searchInfo(request){ //把返回的request字符串变成json对象 ip=request.responseText.parseJSON(); alert(ip.toJSONString()); //查找IP var url="searchbyIP.action"; var params=ip; var myAjax=new Ajax.Request(url,{method:'post',parameters:params,onComplete:creatGMarker,asynchronous:true}); } function creatGMarker (request){ //在地图上创建GMarker var marker0=new GMarker(point); marker0.openInfoWindowHtml("<div>this is a test</div>"); map.addOverlay(marker0); } </script> </code></pre> <p>[/code]<br> 帮手看看哪里出问题了主要是json的问题 在FF上alert能正确弹出,但是在IE上却不行,这是为什么呢?</p>
你用的是ie8吧,ie8已经自带了json解析的内置对象,好像是会用json.js冲突
你去下载json2.js
http://www.json.org/json-zh.html 这里有下载
你先打印下request.responseText看看ie下能不能得到数据先
如果可以,那就是parseJSON方法的问题导致,