之前有正确的价值观我有一个返回XML文件JavaScript函数总是返回错误的值,虽然变量
返回的值属性的最高值的函数始终为0,所以我觉得下的价值JQuery函数不知道里面发生了什么。下面是函数:
function findHighestValue(url,attr){
var highestValue = 0;
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: function(xml) {
$(xml).find("achievement").each(function(){
var value = $(this).find(attr).text();
value = value*1;//typecast
console.log("value: "+value);//shows correct value
console.log("highestValue in ajax: "+highestValue);//shows correct value
if (value >= highestValue){
highestValue = value;
console.log("Value higher highesValue detected!");//works as intended
}
});
}
});
console.log("Highest Value: "+highestValue);// is 0 again
return highestValue;//always returns 0
}
我吸取了教训,这是完全合理的。我将async设置为false,现在它按照原意工作。谢谢! – dan 2012-04-05 09:08:44
@dan我不建议将async设置为false,但如果您的ajax请求需要很长时间,则会冻结浏览器。更好地使用回调函数来执行你的逻辑。 – 2012-04-05 09:12:53
我同意,我会解决它。 – dan 2012-04-05 09:14:32