Почему я не могу загрузить определенный текстовый файл в jQuery? - PullRequest
0 голосов
/ 31 августа 2010

Я использую этот код для загрузки содержимого текстового файла:

function go(){  
        //var myFile = "c:/BMCclient.log";  
        var myFile = "abc.html";
        $.get( myFile, function(data) {
        alert ( data );
            $('#_content').html(data);
            alert('Load was performed.');
            });

    }   

Когда myFile = "abc.html"; этот метод выполняется успешно, но когда я использую myFile = "c:/BMCclient.log"; тогда выдает исключение:

uncaught exception: [Exception... "Component returned failure code: 0x805e000a [nsIXMLHttpRequest.open]" nsresult: "0x805e000a (<unknown>)" location: "JS frame :: file:///C:/PIC/batch/personal/web/js/jquery/jquery-1.4.2.js :: anonymous :: line 5113" data: no]

Почему это происходит?

Ответы [ 4 ]

4 голосов
/ 31 августа 2010

Это почти наверняка связано с определенным аспектом Одинаковой политики происхождения для URL-адресов файлов (выделено мной).

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

Например,если у вас есть файл foo.html, который обращается к другому файлу bar.html, загрузка будет успешной, только если bar.html находится либо в том же каталоге, что и foo.html, либо в каталоге, содержащемся в том же каталоге, что и foo.html.

1 голос
/ 31 августа 2010

Ajax плохо работает с локальной файловой системой, вам повезет, если вы настроите веб-сервер и зайдете на сайт с помощью http://localhost.
Вам повезло, HTML-файлы работают на вас- большинство браузеров этого не допускают.

0 голосов
/ 31 августа 2010

Вы не можете загружать файлы в javascript, обращаясь к ним с помощью вашей файловой системы.$.get - это запрос HTTP GET, который будет взаимодействовать с сервером (например, на локальном хосте).

0 голосов
/ 31 августа 2010

Это происходит потому, что JavaScript не может получить доступ к файлам из файловой системы вашего компьютера.Если бы это было возможно, JS-скрипты могли бы украсть данные вашего файла, даже не подозревая об этом, поэтому он сконструирован таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...