我正在使用下面的json调用在我的 javascript 方法中
function go123(){
var cityName = "";
var temp = $.getJSON("https://abc.in/api/city?callback=?", args,function (data) {
if (data.properties.city != null){
cityName = data.properties.city;
check = true;
} else {
cityName = "NaN"
}
}); // end of my Json Call.
// my validation is done below
if(cityName != "NaN"){
return false;
} else {
// here I except the cityName to not be "" but be some value which is set as :cityName = data.properties.city;
return true;
}
} // end of my function
现在我面临的问题是在我的 Json 调用之前完全的下一组语句(在“//我的验证已在下面完成”行下面的代码中)已经执行。
我想获取 json 调用 (cityName) 中设置的值,并且仅在调用完成时获取一次,然后只希望执行下一组语句。
请帮我解决这个问题。任何意见/想法/建议将不胜感激!谢谢。
您传递给 $.getJSON() 的函数是函数成功完成时运行的回调。在其他条件相同的情况下,将“其余部分”粘贴到该方法中。如果你不能这样做,你所追求的就是所谓的 jQuery Deferred。看http://www.erichynds.com/jquery/using-deferreds-in-jquery/ http://www.erichynds.com/jquery/using-deferreds-in-jquery/ and http://joseoncode.com/2011/09/26/a-walkthrough-jquery-deferred-and-promise/ http://joseoncode.com/2011/09/26/a-walkthrough-jquery-deferred-and-promise/对于看起来像这样的代码:
var req = $.getJSON('blah', 'de', 'blah');
req.success(function(response){
// The request is done, and we can do something else
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)