我尝试使用jQuery和$.postInternet Explorer 进行AJAX调用,但是我得到的只是一个错误,提示“权限被拒绝”。这个问题有点奇怪,因为它仅在我进入任何其他页面之后才访问页面时才会发生。
$.post
例如,我在地址行中键入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 ); }); }); });
在这里尝试:http : //t1318.greatnet.de/ietest/test.html
从jquerys论坛的帖子在这里,你必须有内容类型元在你的头标记的第一个项目。
<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="/ietest/jquery.js"></script> <script type="text/javascript" src="/ietest/test.js"></script> </head> <body> <a href="#">Test</a> </body> </html>