我有代码:
if (venue_exists(instagramUserID)){
alert('A');
}else {
alert('C');
}
function venue_exists(instagramUserID) {
$.get( "/venues/" + instagramUserID, function(json) {
if (json.data.success){
alert('B');
return true;
}
}, "json" );
目前我的输出是:B
,C
我很困惑为什么代码没有进入A
,因为true
正在返回。这与asynchronous request
有关吗?
非常感谢任何帮助。
答案 0 :(得分:0)
是的,它发生是因为ajax是异步的。当你调用venue_exists时,它返回undefined。
如果您需要进行该检查,则需要同步调用它。
function venue_exists(instagramUserID) {
return JSON.parse($.ajax({
url: '/venues/' + instagramUserID,
type: "GET",
dataType: "json",
async: false
}).responseText);}