因为公司要弄单点登录,故部署了两个应用。这两个应用部署了两个版本。一个版本没有出现拒绝访问的问题,另外一个却会出现。在IE6下面可以稳定运行,但是IE8,IE9却不行。提示拒绝访问,但是看地址,其实是一个相对路径,根本没有跨域。
代码如下   function loadServerDoc(){
     
var xmldoc = new ActiveXObject("Msxml2.DOMDocument");
xmldoc.setProperty("SelectionLanguage", "XPath");
xmldoc.async = false;
xmldoc.load(getContextPath()+"/homepage/casaddress.jsp");
window.top.document.serverdoc = xmldoc;
}如果不是这个发生错误,就会是另外一个ajax访问发生错误。下面这个情况在第一次不会出现问题,第二次点击之后,就会出现status = 12017的错误,查找微软的错误代码映射,是说中途取消访问导致的。(查看这里:http://blog.sina.com.cn/s/blog_582d048d01008v55.html)代码如下,用的是dojo的ajax:function getFunctionInfo(url, functionId){
var functionInfo;

dojo.xhrPost({
url : url+"?fid=" + functionId + "&"+  escape(new Date()),
timeout : 20000,
sync : true, handleAs : "text",
load : function (data, ioArgs){
//alert("data=" + data);
functionInfo = data;
},
error : function (err, ioArgs){
alert(err.message);
}
});
return functionInfo;
}查了好久都查不出问题,希望高手帮帮忙。

解决方案 »

  1.   

    那不如用jquery新一点的版本吧。。
      

  2.   

    一样的啊,单独的ajax我也写过,一样的问题
      

  3.   

    getContextPath() 这个获得的字符串路劲看看?  难道是协议用错了? 用了文件协议?
      

  4.   

    楼主 后台代码加P3P协议了吗?是不是得加上P3P协议?楼主也可以去看看JQUERY的JSONP~·对你有帮助
      

  5.   

    谢谢,我们是用cas做单点登录的,jsonp不合适
      

  6.   

    终于找到问题了。在这里总结一下,希望对以后遇到的人有帮助。
    我们部署的系统是三个,一个是cas,即单点登录,一个是菜单的平台,一个是业务的平台。因为菜单平台和业务平台的session的id配置成了一样,导致浏览器识别错乱(低版本的ie6不会出现问题),造成此问题。谢谢大家的回答。