Ajax в JQuery не работает из локального файла

Я создал простой html файл с простым ajax.

index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
    <div id="content"></div>

    <script>
        function show()
        {
                $.ajax({
                url: "2.html",
                cache: false,
                success: function(html){
                    $("#content").html(html);
                }
            });
        }

        $(document).ready(function(){
            show();
            setInterval('show()',1000);
        });
    </script>

</body>
</html>

Файл 2.html расположен в том же каталоге, что и файл index.html. И содержит, например:

 <p>ssss hkl jh lkh <b>d1111</b></p>

Когда я запускаю index.html на веб-сервере, все работает. Но если вы запустите файл index.html на компьютере, так как локальный файл ajax не работает. Как это исправить?

Ответ 1

Это известная проблема с Chrome, если вы проверяете ее. Используйте XAMPP для запуска локального веб-сервера и проверьте свой вызов ajax.

Отметьте этот билет: https://code.google.com/p/chromium/issues/detail?id=40787

Ответ 2

Некоторые браузеры реализуют сильные меры безопасности, чтобы запретить загружаемым веб-страницам доступ к произвольным файлам в файловой системе.

Перейдите в браузер с более слабой безопасностью (я думаю, Firefox разрешает доступ к локальным файлам через XHR) или перестает пытаться запустить веб-сайт без HTTP.