我知道有很多关于这个话题的问题,但是我已经搜索过并且搜查过了,所以请你坚持下去。
我试图将php文件的HTTP输出存储到我的javascript变量中,但它并没有像预期的那样工作。
到目前为止,我在客户端有这个:
var modDate;
function getModDate() {
$.get('checkModDate.php?filename=plot.svg', function (data) {
modDate = data;
});
return modDate;
}
$(document).ready(function () { // Execute when page has loaded
alert(getModDate());
});
在服务器端:
<?php
$filename = $_GET["filename"];
if (file_exists($filename)) {
echo filemtime($filename);
}
?>
警报的输出只是“未定义”&#39;。
但是,如果我只是将警报放入getModDate()函数中,如下所示:
function getModDate(){
$.get('checkModDate.php?filename=plot.svg', function(data) {
modDate = data;
alert(modDate);
});
}
我得到了正确的输出。 我错过了什么!?我已将modDate声明为全局变量,因此我无法弄清楚导致此行为的原因。
我希望你能帮助我。
答案 0 :(得分:0)
一个词 - 异步。
在第一种情况下,在执行$.get
的回调之前触发返回。
建议阅读事件循环和基本异步处理。