繁体   English   中英

从url读取txt文件(javascript)

[英]reading txt file from url (javascript)

我正在尝试从用户提供的外部链接中读取.txt文件,因此以后可以在应用程序中使用它们。 现在,我只是试图将它们显示在div(.output)中。 我到现在为止了,现在我被困住了,真的不知道如何进行。

 function getText(url){ var request = new XMLHttpRequest(); request.open('GET', url, true); request.send(null); request.onreadystatechange = function () { if (request.readyState === 4 && request.status === 200) { var type = request.getResponseHeader('Content-Type'); if (type.indexOf("text") !== 1) { return request.responseText; } } } } $(".url-input").change(function() { getText($(".url-input").value); }); 
 .output { width:500px; height:500px; border: 1px solid black; } 
 <!DOCTYPE html> <html> <head> <title>Ugh</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="index.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="index.js"></script> </head> <body> <div class="output"></div> <input class="url-input" type="url"> </body> </html> 

JavaScript get(注意,您必须输入扩展名为(.txt)的文件名:只需将值更改为val():

$(".url-input").change(function() {
    getText($(".url-input").val());
});

jQuery get:用以下几行替换所有javascript:

$(".url-input").change(function() {
    $.get($(this).val(), function( data ) {
        $('.output').html(data);
    });
});

这是更好的选择,因为Ajax Get是一个异步调用,因此您想更新回调的输出值。

顺便说一句,您应该在进行Ajax调用之前对该使用输入进行一些验证。 另外,要消除在输入中添加“ .txt”的需要,请将其更改为:

$(".url-input").change(function() {
    $.get($(this).val()+'.txt', function( data ) {
        $('.output').html(data);
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM