【发布时间】:2017-05-30 23:31:44
【问题描述】:
我已经为我的特殊困境寻找答案,我认为这一定与我自己的误解有关(我是 JS 新手)。我知道类似的主题,但没有完全解决我想确定的内容 - 如果我错过了之前发布的内容,请原谅我。
我已经总结了我正在尝试对以下 JavaScript 执行的操作,该 JavaScript 利用 jQuery 的 get 将文件内容读取到变量(我试图避免使用 XMLHttpRequest() 来读取文件所涉及的所有喧嚣)服务器端):
window.onload = function(){
var refFile = "./myFile"; // path to my txt file
var fileContent;
$.get(refFile, function(response) {
fileContent = response;
alert(fileContent); // I get data here just fine
});
alert(fileContent); // undefined here - how can I have fileContent defined here?
}
如果最好在纯 JS 中使用 XMLHttpRequest,那很好,但我只想知道如何使值在检索函数之外存在 - 例如,与其他函数一起使用。
关于我缺少什么的任何想法?
任何帮助将不胜感激。
【问题讨论】:
-
jQuery $.get 函数是异步的。因此,内部代码在 $.get 请求发生后运行,但 JavaScript 在运行异步命令时继续执行下一个命令。第二个警报在 $.get 完成之前运行。这就是混乱吗?
-
我明白了——是的,确实如此。完全忘记了异步问题。非常感谢!
标签: javascript jquery scope xmlhttprequest