Я пытаюсь выполнить вызов AJAX с помощью jQuery и $.post
в Internet Explorer, но все, что я получаю, это сообщение об ошибке «Отказано в доступе». Проблема довольно странная, поскольку она возникает только тогда, когда я захожу на страницу после того, как я был на любой другой странице.
Например, я набираю 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