gpt4 book ai didi

javascript - 在 jquery get 之外丢失 var

转载 作者:行者123 更新时间:2023-11-28 08:32:28 24 4
gpt4 key购买 nike

由于某种原因,当尝试在函数外部使用 get 函数内的 newdata 时,它会丢失。警报显示 0,但是当我将警报放入 get 函数时,它显示 80(这应该是。)有什么想法吗??

var newdata = 0;
//Get latest stat from file
$.get( "http://localhost/?stat=size", function( data ) {
//Strip any letters from result (if any)
newdata = data.replace(/\D/g,'');
//alert( "Load was performed."+newdata );
});
alert( "Load was performed."+newdata );

谢谢

最佳答案

你的变量并没有丢失,jQuery get 是一个异步请求。这意味着当您发出警报时,您尚未取回数据,因此它仍会返回 0。

您可以将代码更改为同步运行,这将解决您的问题,但是您应该小心,因为它会阻止更多代码执行,直到您得到响应。

$.ajax({
url: 'http://localhost/?stat=size',

success: function(data) {
newdata = data.replace(/\D/g,'');
},
async: false
});

但是,我建议只运行您在获得成功时需要执行的操作,这意味着它只会在您检索数据后运行,并且不会阻止任何其他执行。

var newdata = 0;
//Get latest stat from file
$.get( "http://localhost/?stat=size", function( data ) {
//Strip any letters from result (if any)
newdata = data.replace(/\D/g,'');
alert( "Load was performed."+newdata );
});

关于javascript - 在 jquery get 之外丢失 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21675745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com