<form onsubmit="geoFindLat()" name="search-form">
<div class="input-group form-group form-group-lg">
<input type="text" name="search" class="form-control col-lg-6" placeholder="Search Books" id="q">
<span class="input-group-btn"><button class="btn btn-primary btn-lg" type="submit" ><i class="fa fa-search"></i></button>
</span>
</div>
</form>
我有上面的html表单search.html
。当用户输入文本并按Enter键时,将调用javascript函数,然后获取lat / lng和搜索文本。
function geoFindLat() {
var input = document.forms["search-form"]["search"].value;
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
type: "POST",
url: "/search",
data: {
latitude: latitude,
longitude: longitude,
q: input
},
error: function () {
},
success: function (response) {
},
complete: function () {
}
})
};
navigator.geolocation.getCurrentPosition(success, error);
}
成功后,将调用POST方法,该方法检索lat,lng和query_name值并将其打印出来。我希望将页面重定向到results.html,但这并不会发生。 search.html页面似乎一直都在重新加载。
class Search(SearchRequestHandler):
def get(self):
self.redirect('/')
def post(self):
query_name = self.request.get('q')
lat = self.request.get('latitude')
lng = self.request.get('longitude')
print query_name, lat,lng
doc = //** SOME OPERATION
tpl_values = {
'lat': lat,
'lng': lng,
'doc': doc
}
self.render('search_result/results.html', **tpl_values)
请帮忙。