【发布时间】:2017-10-21 06:20:19
【问题描述】:
我正在使用 Ajax $.post() 将表单的内容发布到我在谷歌应用引擎中的控制器。该表单基本上是尝试使用 html5 地理位置和用户输入来查找 lat/lng。
<form method="post" id="simple-form" action="/search">
<div>
<input type="text" placeholder="Keyword" name="searchQuery" id="searchQuery">
<input type="button" id="simple-submit-button">
</div> </form>
尝试查找地理位置
$('#simple-submit-button').click(function () {
navigator.geolocation.getCurrentPosition(onSuccess, onError);
})
function onSuccess(position) {
document.getElementById('Latitude').value = position.coords.latitude;
document.getElementById('Longitude').value = position.coords.longitude;
var x = document.getElementById('Latitude').value;
if (x != undefined || x != null) {
submitform();
}
}
使用 jquery $.post() 将内容发布到方法并呈现另一个页面。
function submitform() {
var where = $("#simple-firm").attr("action");
var fi = $("#Latitude").val();
var fj = $("#Longitude").val();
var gk = $("#searchQuery").val();
var what = {Latitude: fi, Longitude: fj, searchQuery: gk};
$.post(where, what, handleResponse, "json");
}
下面是我的router.py
from webapp2 import WSGIApplication
from webapp2 import Route
app = WSGIApplication([
Route('/search', handler='app.serp.Search'),
}
和我的方法
class Search():
def get(self):
self.redirect('/')
def post(self):
query_name = self.request.get('searchQuery')
lat = float(self.request.get('Latitude'))
lng = float(self.request.get('Longitude'))
print query_name,lat, lng
#self.response.out.write('<html><body>You wrote:<pre>')
self.render('serp/serp.html')
虽然我可以在终端中看到正在打印 query_name、lat、lng 的值,但 self.render 和 self.response 均未显示。我基本上想呈现另一个名为 serp.html 的页面。这里出了什么问题。如何修复它。
【问题讨论】:
标签: jquery ajax google-app-engine webapp2