0

我正在尝试使用 Javascript 从 .txt 文件中获取文本。我正在尝试通过使用警报语句显示文件中的文本来测试我的代码。

我收到了这个警告框:

例子

这是我的代码:

$(document).ready(function() {
    // Obtain services text from .txt file
    var text = new XMLHttpRequest();
    text.open("GET", "js/servText.txt", true);
    text.onreadystatechange = function() {
        // Check states 4 = Ready to parse, 200 = found file
        if(text.readyState === 4 && text.readyState === 200) {
            text = text.responseText;
        }
    }
    alert(text);
    text.send(null);
});

我曾尝试使用 JSON.stringify(); 但我收到一个带有“{}”的警告框,但它在 Google Chrome 中不起作用。

我也尝试使用 toString(); 和字符串();

任何帮助都会很棒!谢谢-克里斯

4

1 回答 1

3

您需要将您的alert语句移动回调中。:

$(document).ready(function() {
    // Obtain services text from .txt file
    var text = new XMLHttpRequest();
    text.open("GET", "js/servText.txt", true);
    text.onreadystatechange = function() {
        // Check states 4 = Ready to parse, 200 = found file
        if(text.readyState === 4 && text.status === 200) {
            alert(text.responseText);
        }
    }
    text.send(null);
});

顾名思义,AJAX 调用是异步的。您会立即alert被调用,它不会等待 AJAX 请求完成。

异步可能令人难以置信。您的代码不会从上到下运行,而是您必须查看事件。活动从哪里开始?我有什么数据?等等

于 2013-04-19T16:31:50.903 回答