【发布时间】:2011-02-26 22:59:48
【问题描述】:
我尝试在 Internet Explorer 中使用 jQuery 和 $.post 进行 AJAX 调用,但我得到的只是“权限被拒绝”的错误消息。这个问题有点奇怪,因为它仅在我访问任何其他页面后访问页面时才会发生。
例如,我在地址行中输入 URL 并让 IE 加载页面。然后我单击一个按钮,以便脚本开始加载 JSON 数据。 (提供数据的脚本位于同一台服务器上,我使用相对 URL 访问它,因此使用不同的域在这里不是问题。甚至尝试使用具有相同主机部分的绝对 URL。)
但是当我刷新页面并再次尝试时,它可以工作!当我从另一个页面来到该页面时也是如此。起初没有任何效果,但是当我单击“刷新”时,一切都很好。
IE 给我错误消息“权限被拒绝”,而在其他所有浏览器中我都没有注意到这种行为。由于我尝试了很多方法,仍然无法想象问题出在哪里,所以我想问您您认为问题可能出在哪里?
编辑: 一个小例子:
test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<script type="text/javascript" src="/ietest/jquery.js"></script>
<script type="text/javascript" src="/ietest/test.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<a href="#">Test</a>
</body>
</html>
ajax.html
It works!
test.js
$(document).ready(function(){
$( 'a' ).click(function(){
$.post( '/ietest/ajax.html', function( data ) {
alert( data );
});
});
});
【问题讨论】:
-
你能发布你的代码吗?这会有所帮助:)
-
就是这样 ;) 当我一直在寻找解决方案时,我已经多次阅读过这个问题。遗憾的是,没有人知道发生了什么。
-
您在哪个版本的 IE 中使用?
-
IE 7 和 8(其他人为我测试过)
-
我添加了一个链接,您可以自己尝试一下。
标签: javascript jquery ajax internet-explorer