开发者问题收集

在 javascript 中读取文本 url

2019-02-27
106

我正在尝试用 JavaScript 编写一个程序,而我已经用 Java 编写过程序。我尝试了几种不同的方法来读取 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个回答

由于安全原因,您无法向外部域发出 javascript 请求。只有外部允许通过添加此标头来执行此操作才有可能:Access-Control-Allow-Origin。

对于您的问题,最好的方法是使用 ajax 从本地读取静态文件。

Pawel
2019-02-27

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

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

如果在响应中未找到此信息,浏览器将直接生成错误。

Charlie
2019-02-27