我正在尝试使用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();但是我收到了一个带有“{}”的警告框,但它在谷歌浏览器中无效。
我也尝试过使用toString();和String();
任何帮助都会很棒!谢谢-Chris
答案 0 :(得分: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调用顾名思义就是Asynchronous。您的alert
被称为 immediatly ,它不会等待AJAX请求完成。
异步可能是一个令人难以置信的心灵。您的代码不是从上到下运行,而是您必须查看事件。活动从哪里开始?我有什么数据?等