当前位置: 移动技术网 > IT编程>脚本编程>Ajax > 如何解决ajax在google chrome浏览器上失效

如何解决ajax在google chrome浏览器上失效

2017年12月12日  | 移动技术网IT编程  | 我要评论

 问题分析:我的ajax的代码在ie浏览器,360的ie核心的浏览器,以及在火狐都是运行正常的,但是在google chrome下却让我非常头疼,总是没有显示正确结果。

我本机的开发环境如下:

google chrome 版本 28.0.1469.0m
服务器tomcat6.0

服务器端spring mvc 的代码如下:

控制器部分:

@requestmapping(value="/searchrecordblacklistbycardid.json")
public string searchrecordblacklistbycardid(httpservletrequest request,httpservletresponse response,string cardid,modelmap mm){
response.setcontenttype("application/json;charset=utf-8");
pwcardspeciallist pcs = blacklistservice.getrecordblacklistbycardid(cardid);
mm.addattribute("pwcardspeciallist", pcs);
return "jsonview";
}

xxx-servlet.xml配置部分:

<bean id="jsonview" class="net.sf.json.spring.web.servlet.view.jsonview"/>

<bean id="beannameresolver" class="org.springframework.web.servlet.view.beannameviewresolver">
   <property name="order" value="0" />
 </bean>
<bean class="org.springframework.web.servlet.view.internalresourceviewresolver"
p:viewclass="org.springframework.web.servlet.view.jstlview" 
p:order="100"
p:prefix="/web-inf/jsp/"
p:suffix=".jsp" />

前台页面部分:

<script type="text/javascript">
$(document).ready(function(){
$("#searchblack").click(function(){
$.get('${requestscope.basepath}searchrecordblacklistbycardid.json', { 
  cardid : encodeuri( '123456789' ) 
  }, function (data, textstatus){
  alert(data.pwcardspeciallist.cardid);
  },'json');
return false;
})
});
</script>

对于上面出现的问题,给出三个截图,大家就能知道为什么了。。。。

第一张,使用localhost:8080/carddemo/searchrecordblacklist.html#地址访问的时候:

 

第二张,使用127.0.0.1:8080:8080/carddemo/searchrecordblacklist.html#访问的时候:

 

第三张,使用我的本机ip访问的时候192.168.1.100:8080/carddemo/searchrecordblacklist.html#

 

原来,google chrome是由于某种安全策略的需要,禁止访问本地的ajax资源!这个还是有点坑爹,毕竟我之前所在那个公司在某些项目上号称“只支持google chrome浏览器的”。

这个故事告诉我们....在以后调试的时候,要尽量使用本机ip来访问server端,而不要使用127.0.0.1或者是localhost,这样就不会像我一样花费好几个小时的时间去寻找这个错误。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网