从JavaScript中的文本URL读取

时间:2019-02-27 05:25:50

标签: javascript html

我正在尝试用Java编写一个JavaScript程序。我尝试了几种不同的方式来读取 url.txt 文件,但不能说我理解其中的任何一个。所以我想避免使用Jquery和其他非标准选项,因为我正在尝试学习这种语言。这是html:

<!DOCTYPE html>
<html>
<head>
    <title>Page Title</title>
    <script src="/script.js"></script>
</head>
<body>
    <button onclick="getText()">Try It</button>
    <p id="text"></p>
</body>
</html>

JavaScript:

function getText() {
    var bool = true;
    var xReq = new XMLHttpRequest();
    xReq.addEventListener("progress", updateProgress);
    xReq.addEventListener("load", transferComplete);
    xReq.addEventListener("error", transferFailed);
    xReq.addEventListener("abort", transferCanceled);
    xReq.open(
      "GET",
      "http://jeff.cis.cabrillo.edu/datasets/santa-cruz-addresses.txt");
    xReq.send();
}
function updateProgress (oEvent) {
    if (oEvent.lengthComputable) {
        var percentComplete = oEvent.loaded / oEvent.total * 100;
    } else {
        // Unable to compute progress information  total size is unknown
    }
}

function transferComplete(evt) {
    document.getElementById("text").innerHTML = "The transfer is complete.";
}

function transferFailed(evt) {
  document.getElementById("text").innerHTML = "An error occurred";
}

function transferCanceled(evt) {
  document.getElementById("text").innerHTML = "canceled by the user.";
}

最终,我将txt文件分成行和数组,但是首先我需要弄清楚这一点,任何帮助将非常感谢。

2 个答案:

答案 0 :(得分:3)

由于安全原因,您无法向外部域发出javascript请求。仅当外部允许通过添加以下标头来做到这一点时才有可能:Access-Control-Allow-Origin。

对于您的问题,最好的解决办法就是使用Ajax从本地读取静态文件。

答案 1 :(得分:1)

http://jeff.cis.cabrillo.edu应该支持CORS

也就是说,它应该通过其响应标头告知浏览器,通过该请求访问服务没有问题。

如果在响应中找不到此信息,则浏览器将仅生成错误。