Получить текст из текстового файла в URL

Когда я перехожу к URL-адресу, например так: http: //my.url.com/file.txt, браузер отображает текст.

Мне нужна простая команда javscript, которая выполняет следующие действия:
 1. перейти на URL
 3. возьмите текст, который появляется на экране
 4. сохранить его в переменной для дальнейшей обработки

так что-то вроде

var url = http: //my.url.com/file.txt;

//некоторый код, который идет на URL

//некоторый код, который берет упомянутую информацию и делает что-то вроде:

var fileInfo = ---content of file.txt---

Обратите внимание, что информация, которую я ищу из txt-файла, содержится в тегах html

<p>Text I need in Variable</p>

Любая помощь будет принята с благодарностью!
Спасибо!

4 голоса | спросил Aryeh K 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 29 Sep 2016 00:33:28 +0300 2016, 00:33:28

4 ответа


0

Сделайте AJAX-вызов по URL. Здесь используется библиотека jQuery :

$.get( "http: //my.url.com/file.txt", function( data ) {
  var text = data;
});

Чтобы извлечь то, что вам нужно, из текстовой строки между тегами абзаца, попробуйте regex:

var pText = text.match(/<p>([^<]+)<\/p>/)[1];
ответил ndcomix 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 29 Sep 2016 00:36:55 +0300 2016, 00:36:55
0

Используйте API Fetch.

Играйте с ним на jsfiddle.net.

 var url = 'https://fiddle.jshell.net/robots.txt';
var storedText;

fetch(url)
  .then(function(response) {
    response.text().then(function(text) {
      storedText = text;
      done();
    });
  });

function done() {
  document.getElementById('log').textContent =
    "Here's what I got! \n" + storedText;
}

Вот небольшой пример ES6, который отделяет выборку от сохранения и демонстрации результата.

 fetch('https://fiddle.jshell.net/robots.txt')
  .then((response) => response.text().then(yourCallback));

function yourCallback( retrievedText ) { /* . . . */ }

Усыновление уже по всем направлениям.

Вам не нужно ждать. Большинство людей этого не делают. Вы не должны.
GitHub предоставляет полифил для тех, кто не может выполнить обновление.

Что может быть лучше, чем XHR? ... Лоты .

ответил TylerY86 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 29 Sep 2016 00:43:38 +0300 2016, 00:43:38
0

Просто используйте jquery. Это легко весело и расширяемо. Не пытайтесь использовать Bizzare. Обязательно все время быть совместимым через весь браузер. Если вы скопируете это и запустите его под локальным или удаленным веб-сервером, это будет работать как шарм Приветствия.

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
        $.ajax({url: "test.txt", success: function(result){
            $("#div1").html(result);
        }});
    });
});
</script>
</head>
<body>

<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div>

<button>Get External Content</button>

</body>
</html>
ответил MagiciaN 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 29 Sep 2016 00:48:03 +0300 2016, 00:48:03
0

Использование vanilla JS :

Из документа MDN:

function reqListener () {
  console.log(this.responseText);
}

var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "http://www.example.org/example.txt");
oReq.send();

https://developer.mozilla.org/en -US /документы /Web /API /XMLHttpRequest /Using_XMLHttpRequest

Прочитайте документацию и ссылку ndcomix SO , чтобы пойти дальше (проверка ошибок и т. д.)

ответил Gilles Quenot 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 29 Sep 2016 00:38:56 +0300 2016, 00:38:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132