【发布时间】:2017-08-26 19:56:46
【问题描述】:
我的网站标题中有一个 HTML 搜索表单,用户可以在其中搜索 Firebase 数据库集合。当用户单击搜索按钮提交查询时,他们将被带到包含搜索结果的新页面。
我遇到了页面未重定向且控制台未显示查询返回的任何数据的问题。我已经到处搜索了如何执行此操作的示例,但没有找到任何东西。我很感激这方面的任何帮助。
HTML 搜索表单
<form id="navsearchform">
<input type="search" id="searchnav" placeholder="Keyword, City"/>
<button id="navsearchbtn" class="wtsearchbtn">Search</button>
</form>
JQuery 搜索功能
var fireQuery = function () {
var queryData = $("#searchnav").val(),
dbRef = firebase.database().ref(),
eventsRef = dbRef.child('events'),
sendQuery = eventsRef.orderByChild('description').equalTo(queryData);
sendQuery.once('value', function(snapshot) {
snapshot.forEach(function(snapshot) {
// data to be displayed
var resultsTitle = snapshot.val().title,
resultsDesc = snapshot.val().description,
resultsPic = snapshot.val().image;
console.log(resultsTitle);
// redirect to results page
window.location.href = "results";
// display search results on results page
// append the results to div
var $resultsdiv = $( '<div>+resultsTitle+</div>' );
$("body").append( $resultsdiv );
});
});
};
$(window).load(function () {
$("#navsearchform").submit(fireQuery);
}); // end window load
数据库结构
{
"events" : {
"-KrStHa_NoQnheYJ2121" : {
"description" : "[redacted]",
"title" : "[redacted]",
},
"-KsV3TsI0KcQAnPbSyWf" : {
"description" : "[redacted]",
"title" : "[redacted]",
}
}
【问题讨论】:
-
查询后为什么会跳转到结果页面?你怎么能看到结果而不在那个新页面上重新运行查询,在这种情况下你应该只在结果页面上进行查询
标签: javascript jquery firebase-realtime-database