=波波日志 > JavaScript/Ajax > FireFox下端口不一致导致跨域=
FireFox下端口不一致导致跨域
在Firefox下,如果url路径带有端口号,而ajax对象访问的路径为绝对路径并且端口号不一样时,会出现
uncaught exception: (1? XMLHttpRequest.open ?CP 3
的错误,这个是因为端口号不一致时导致出现的跨域错误。而IE下不会因为请求的端口号不一致出现跨域的问题。
其实出现端口号不一致的错误实在是微乎其微,有谁会一个网站开放两个端口号,浏览器访问时使用一个,ajax对象请求又使用另一个呢??这不是找罪受吗,还得处理跨域的问题。
当ajax出现端口跨域的问题时,Firefox下哪怕设置了document.domain也解决不了跨域的问题,要想Firefox下不出现端口跨域问题,可以使用下面两种比较简单的办法
1)ajax只能使用相同的端口号
2)使用相对路径,而不是使用绝对路径
可以保存下面的代码,自己测试下即可
x.html
+展开
-JavaScript
document.domain="192.168.1.68";//设置domain在Firefox下也解决不了端口跨域 var xhr=window.ActiveXObject?new ActiveXObject("microsoft.xmlhttp"):new XMLHttpRequest(); //=====================================
//相对路径,不出现跨域问题 xhr.open("get","x.html?_dc="+new Date().getTime(),true);
//端口不一致,Firefox下跨域出错
//xhr.open("get","http://192.168.1.68:7070/x.html?_dc="+new Date().getTime(),true);
//端口一致,不出现跨域问题 //xhr.open("get","http://192.168.1.68:8080/x.html?_dc="+new Date().getTime(),true);
//===================================== xhr.onreadystatechange=function(){if(xhr.readyState==4)alert(xhr.responseText);} xhr.send(null);
建立一个网站,打开8080端口和7070端口,浏览器通过8080端口访问http://192.168.1.68:8080/x.html页面,修改//=====================================中的代码,刷新查看效果。
相关ajax跨域解决方案
类别:JavaScript/Ajax 作者:波波 日期:2010-03-04 【评论:0 阅读:】
暂时没有评论!
发表留言
同类热门博文
- ·AJAX跨域问题解决办..
- ·ajax+asp.net+mssql..
- ·ajax问题总结
- ·JavaScript解析XML的..
- ·JS URL编码函数
- ·ajax+asp+mssql无刷..
- ·ajax无刷新上传文件..
- ·美化alert,confirm..
博格Tag
- flash/flex/fcs/AIR(750)
- Asp.Net/C#/WCF(476)
- JavaScript/Ajax(232)
- 操作系统及应用软件(206)
- SQL及数据库(105)
- 黑客技术(96)
- Asp/VBScript(85)
- 网站排名及优化(82)
- PHP/apache/Perl(72)
- HTML/WML/CSS兼容(65)
- 其他(59)
- 个人日志(44)
- lucence.net/分词技术(33)
- C#设计模式(22)
- 计算机网络(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(10)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,G51人力资讯网,桂ICP备05005887号
Powered by showbo,G51人力资讯网,桂ICP备05005887号
