【发布时间】:2015-06-10 16:45:12
【问题描述】:
处于警报状态时,它总是提醒jojo。 test2.php 有文字Loco
div 更新为Loco,但全局变量没有改变。我试过window.temp = data,但没用。
如何获取变量的返回值?请指导...
<div>
yolo
</div>
<script type="text/javascript">
var temp = 'jojo';
$.ajax({
url: 'test2.php', //Loco
success: function(data)
{
temp = data;
$('div').html(data);
},
error: function (err)
{
alert('error');
}
});
alert(temp);
var toBeUsedLater = temp; //updated temp value from ajax call
refreshTab();
</script>
【问题讨论】:
-
比西恩。我建议你阅读 ajax 的异步行为。
-
好的,我从中得到了很多有用的信息。我是 javascript 的初学者,所以它有很大帮助。对于我目前的情况,我想我必须选择
async: false选项。 -
async: false使 ajax 同步,但在大多数情况下不使用它,因为它会暂停执行,直到 ajax 返回并且页面可能会冻结。因此,放置var toBeUsedLater = temp;的更好的位置是在success回调(您正在设置innerhtml 的地方)或一些承诺挂钩中。您可以阅读有关 jquery 承诺的信息。
标签: javascript jquery ajax