javascript - 为什么 IE7 和 IE8 在调用 jQuery 时给我 "Access Denied"?

标签 javascript jquery

我正在使用 Google CDN 将 jQuery 1.4.2 Min 文件调用到我的应用程序中。一个 FF、Chrome、Safari 一切都运行良好。但出于某种原因,我在第 127 行收到 jquery.min.js 文件的“拒绝访问”错误...?我不明白。任何人都知道为什么会这样吗?我完全没有头绪。 ! Screenshot

代码

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
    type="text/javascript"></script>

.

case 1:
methodName = "SavePropertyInformation";
var HasFoundProperty, PropertyType, NumberOfUnits,
PropertyAddress, PropertyCity, PropertyState,
PropertyZipCode, PropertyCounty;

HasFoundProperty = $("#foundProperty input[type='radio']:checked").val();
PropertyType = $('#<%= this.fvApp.FindControl("ddlPropertyType").ClientID %>').val();
NumberOfUnits = $('#<%= this.fvApp.FindControl("ddlNumberOfUnits").ClientID %>').val();
PropertyAddress = $('#<%= this.fvApp.FindControl("txtPropertyAddress").ClientID %>').val();
PropertyCity = $('#<%= this.fvApp.FindControl("txtPropertyCity").ClientID %>').val();
PropertyState = $('#<%= this.fvApp.FindControl("ddlPropertyState").ClientID %>').val();
PropertyZipCode = $('#<%= this.fvApp.FindControl("txtPropertyZipCode").ClientID %>').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;

最佳答案

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

要使 document.domain 同步,您需要在两个地方进行设置。添加一个设置域的脚本标记,并且您需要在页面上有一个在另一个域上设置相同内容的 iframe。

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

<script type="text/javascript">
  document.domain = "example.com";
</script>
<iframe src="http://ajax.example.com/domainCode.html"></iframe>

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

<html>
  <head>
    <script type="text/javascript">
      document.domain = "example.com";
    </script>
  </head>
  <body>
  </body>
</html>

有了它,您应该能够在您的子域之间进行通信。

关于javascript - 为什么 IE7 和 IE8 在调用 jQuery 时给我 "Access Denied"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3470859/

相关文章:

javascript - 如何通过 jquery 反转对兄弟元素的操作

javascript - jQuery animate 在 Canvas 上移动文本

javascript - window.location.reload 不适用于 Firefox 和 Chrome

java - 使用 PHP 使用 JSONP 返回对象而不是结果

jquery - 如何更改 jQuery UI Datepicker Z-Index 值?

javascript - 将字体存储到 cookie 并从 cookie 加载

javascript - React Native - 动态 onPress 事件

javascript - RxJs:顺序发送请求并不是真正顺序的

javascript - Rails 4 Ajax 类按钮无法正常工作

javascript - Google+ 互动帖子弹出窗口在 0.5 秒后消失