从url中的txt文件中获取文本

时间:2016-09-28 21:33:29

标签: javascript html http

当我转到这样的网址时:http://my.url.com/file.txt,浏览器会显示文字。

我想要一个简单的javscript命令来执行以下操作:
 1.转到网址
 3.拍摄屏幕上显示的文字
 4.将其存储在变量中以便进一步处理

类似

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

//这里的一些代码转到了网址

//一些代码,它接受所述信息,并执行以下操作:

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

请注意,我从txt文件中搜索的信息是html标记

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

非常感谢任何帮助!
谢谢!

4 个答案:

答案 0 :(得分:3)

对网址进行AJAX调用。这是使用jQuery库:

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

要在段落标记之间从文本字符串中提取所需内容,请尝试使用regex:

var pText = text.match(/<p>([^<]+)<\/p>/)[1];

答案 1 :(得分:3)

Use the Fetch API.

Play with it

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 ) { /* . . . */ }

Adoption is already across the board.

你不必等待。大多数人都没有。你不应该 GitHub provides a polyfill of those who can't upgrade.

获取什么比XHR更好? ...... Lots

答案 2 :(得分:0)

使用 vanilla JS

来自MDN doc:

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/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

阅读文档和ndcomix SO link以进一步(错误检查等)

答案 3 :(得分: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>