为什么IE7和IE8在调用jQuery时给我“拒绝访问”?

我正在使用Google CDN将jQuery 1.4.2 Min文件调用到我的应用程序中。 一个FF,Chrome,Safari一切都很好用。 但由于某种原因,我在第127行的jquery.min.js文件中出现“访问被拒绝”错误…? 我不明白。 任何人都知道为什么这样做? 我完全无能为力。 ! 截图

 

 case 1: methodName = "SavePropertyInformation"; var HasFoundProperty, PropertyType, NumberOfUnits, PropertyAddress, PropertyCity, PropertyState, PropertyZipCode, PropertyCounty; HasFoundProperty = $("#foundProperty input[type='radio']:checked").val(); PropertyType = $('#').val(); NumberOfUnits = $('#').val(); PropertyAddress = $('#').val(); PropertyCity = $('#').val(); PropertyState = $('#').val(); PropertyZipCode = $('#').val(); GetCountyFromZipCode(PropertyZipCode); PropertyCounty = GetCounty(); data = "{WebAccessID:'" + WebAccessID + "', HasFoundProperty:'" + HasFoundProperty + "', PropertyType:'" + PropertyType + "', NumberOfUnits: '" + NumberOfUnits + "', PropertyAddress: '" + PropertyAddress + "', PropertyCity:'" + PropertyCity + "', PropertyState:'" + PropertyState + "', PropertyZipCode:'" + PropertyZipCode + "',PropertyCounty:'" + PropertyCounty + "' }"; doAjaxReq(methodName, data, showSavingDialog); break; 

由于同源策略,对子域的调用被视为不同的域。 确保您正在设置document.domain以避免使用Same Origin策略拒绝访问。

要使document.domain同步,您需要在两个位置设置它。 添加一个设置域的脚本标记,您需要在页面上设置一个iframe,在另一个域上设置相同的内容。

Ajax调用的页面来自“www.example.com”并且正在调用“ajax.example.com”:

   

“domainCode.html”只包含脚本标记

        

有了这个,您应该可以在您的子域之间进行交谈。

确保IE没有任何代理设置,自动配置脚本或首选项中的任何内容。 我认为您的代码没有任何问题。

我认为问题源于Internet Explorer中的某个安全function,除非被浏览器视为“受信任”,否则不允许从远程服务器加载代码。 从我读到的,有些情况下浏览器不会抱怨这个,然后还有其他情况,它不会允许它。 不确定你的实例中具体的触发器是什么,但我敢打赌这是你问题的根源。

如果我是你,我会在本地加载jQuery,直到你遇到性能问题,提示你不这样做。 将文件命名为jquery-latest.js,然后在出现新版本的JQ时,首先在本地测试它们,然后在您确信它有效时替换该文件。 或者,保留以版本命名的文件,并逐个升级每个页面,以便于您的应用程序使用。

资料来源: http : //geekswithblogs.net/TimH/archive/2006/05/17/78673.aspx

你坐在防火墙后面吗? 它可能阻止您连接和下载jquery.js。