如何先从Firebase获取结果,然后重定向到另一个页面
How to get the result from firebase first and then redirect to another page?
我的应用程序中有一个函数可以从Firebase获取一些数据,在完成Firebase on函数后,我需要将其重定向到另一个页面。但是在我的代码中,当我按下按钮时,它会迅速重定向到另一个 bage,因此不会处理该函数。我该怎么做?
$('#pg-myb-inde #testBtn').on('click',function(){
myFirebaseRef.orderByChild('emailid').equalTo('mishan@gmail.com').on('value',function(userSnap){
var user=userSnap.val();
// $('#UserPage .person-name').empty();
// $('#UserPage .person-name').append('' +
// '<i class="glyphicon glyphicon-th-list"></i> '+user.fname);
console.log('appended');
console.log(user.fname);
});
location.href = "/another-web-page";
})
这是你要找的吗?
$('#pg-myb-inde #testBtn').on('click',function(){
var query = myFirebaseRef.orderByChild('emailid').equalTo('mishan@gmail.com');
query.on('value',function(userSnap){
var user=userSnap.val();
location.href = "/another-web-page";
});
})
我唯一更改的是将位置的设置移动到回调函数中。
如果这确实是您要查找的内容,那么将一些日志记录语句放入此代码可能会有所帮助:
$('#pg-myb-inde #testBtn').on('click',function(){
var query = myFirebaseRef.orderByChild('emailid').equalTo('mishan@gmail.com');
console.log('Before Firebase query');
query.on('value',function(userSnap){
console.log('In Firebase callback');
var user=userSnap.val();
location.href = "/another-web-page";
});
console.log('After Firebase query');
})
现在,当您运行此代码时,输出很可能不是您期望的:
Before Firebase query
After Firebase query
In Firebase callback
原因是数据是从 Firebase 异步检索的。当您调用on()
时,它会启动对服务器的请求。但是,由于可能需要一段时间才能从服务器返回响应,因此您的浏览器不会等待答案,而只是在查询后继续使用代码。当数据从服务器返回时,将调用您的回调。
相关文章:
- 如何在一页网站中使用PHP重定向到一个页面
- php重定向到一个空白页面
- 在发布表单输入时,我可以重定向到一个新的php文件吗
- Firefox弹出窗口“;这个网页被重定向到一个新的位置“;在每个requestPromise ajax调用上,有什么方
- Facebook重定向到一个空白的权限请求页面
- 如何在组合框值更改时自动重定向下一个 jsp 页面
- 如何在更改字段中的选择后重置另一个字段中的数据
- 如果另一个下拉列表选择发生更改,则重置另一个下拉列表
- 重置另一个字段Primefaces的字段值
- javascript可以将我的页面重定向到一个url,如果失败,则不会发出警报
- 点击产品,它会自动重定向另一个网站
- 在选择电台,重定向到一个链接
- Phonegap Hybrid App - JavaScript重定向使一个绝对定位的元素闪烁并显示后面的内容
- 我需要做一个网站重定向到一个页面后21.45至10.00
- 如何使javascript加载新数据每次(不使用缓存数据),当我重定向到一个处理程序(页)在鼠标点击
- 重定向选择一个选择输入
- 我如何得到chrome.tab .update重定向到一个url
- 检查在旧版Internet Explorer中事件重定向期间一个事件是否与另一个事件相同
- 等待两秒钟,然后在jquery中自动重定向另一个页面
- Php重定向到一个服务器到另一个服务器的Php页面