异步获取请求返回true
Async Get Request return true
我有代码:
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
有关系吗?
是的,这是因为ajax是异步的。当你调用venue_exists时,它返回undefined。
如果你需要检查,你需要同步调用它。
function venue_exists(instagramUserID) {
return JSON.parse($.ajax({
url: '/venues/' + instagramUserID,
type: "GET",
dataType: "json",
async: false
}).responseText);}
相关文章:
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- 通过AJAX从具有LazyLoadingEnabled=true的EF返回的数组不正确
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- 为什么 javascript 返回对象位置 true 或 false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- Backbone.js集合.Create函数没有使用wait: true返回更新后的模型
- Sequelize:调用.get({plain: true}))返回.get不是函数
- 在if语句中为true, true返回false
- 固定脚和外高度(true)返回值