Как скачать данные с помощью JS с браузером? - PullRequest
0 голосов
/ 10 марта 2019

Я хочу написать скрипт с использованием JavaScript. Затем запустите его с моим браузером на моем локальном компьютере, чтобы загрузить текстовые файлы с другого сайта, а затем обработайте эти данные с помощью js.

Я пробовал это:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    console.log("readyState: "+this.readyState+", status: "+this.status);
    if (this.readyState == 4 && this.status == 200) {
        document.getElementById("data").innerHTML = this.responseText;
    }
};
xhttp.open("GET", "http://website.com", true);
xhttp.send();

Но я всегда получаю эту ошибку:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://website.com. (Reason: CORS request did not succeed)

Я использую Firefox. Разве это невозможно сделать? Могу ли я не загружать данные с других сайтов, используя js внутри моего браузера?

1 Ответ

2 голосов
/ 10 марта 2019

Могу ли я не загружать данные с других сайтов, используя js внутри моего браузера?

Только если они позволят вам, поддерживая CORS и разрешая ваше происхождение, или предоставляя JSONP (а не ajax) API.

Однако, поскольку вы делаете это локально, если вы хотите использовать JavaScript для этого, вы можете сделать это с Node.js , а не в браузере. Политика аналогичного происхождения применяется к браузерам, в частности (это для вашей защиты, а не защиты веб-сайта). Это не относится к не браузерным приложениям, таким как Node.js.

Или, если вы использовали JavaScript только потому, что думали, что должны, вы можете использовать любое количество других инструментов (например, curl на * nix).

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