如何从 html/templates 获取数据
How to fetch data from html/templates
我正在使用 html5 地理定位来获取每个用户的当前位置,然后将其存储到数据库中。
我不知道如何在不使用 html 中的表单或输入法的情况下获取当前位置,然后 post 将其发送到服务器。
<form method="post" id="geo_form">
<input type="hidden" id="lat" name="lat" value="">
<input type="hidden" id="lon" name="lon" value="">
<input type="submit" name="submit" value="Click">
</form>
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position) {
document.getElementById("lat").value = position.coords.latitude;
document.getElementById("lon").value = position.coords.longitude;
}
getLocation()
<script>
然后在数据库中,我可以使用 post:
获取地理位置
def post(self):
lat = float(self.request.get("lat"))
lon = float(self.request.get("lon"))
问题是我想让每次用户刷新页面时更新当前位置。有什么办法吗?
我知道我可以使用 getDocumentbyId.submit() 但我想将此页面设为主页,用户可以根据自己的位置获取本地提要。所以,如果我在这个 html 中使用 getDocumentbyId.submit() 它将进入无限循环。
在处理请求时,GAE 会自动插入响应 header X-AppEngine-CityLatLong
,其中包含基于客户端请求的 IP 地址的纬度和经度。
您可以通过以下方式访问 header:
location = self.request.headers.get('X-AppEngine-CityLatLong')
更多信息在这里:http://rominirani.com/2012/04/25/appengine-location-detection-update-x-appengine-country-and-more/
我正在使用 html5 地理定位来获取每个用户的当前位置,然后将其存储到数据库中。 我不知道如何在不使用 html 中的表单或输入法的情况下获取当前位置,然后 post 将其发送到服务器。
<form method="post" id="geo_form">
<input type="hidden" id="lat" name="lat" value="">
<input type="hidden" id="lon" name="lon" value="">
<input type="submit" name="submit" value="Click">
</form>
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position) {
document.getElementById("lat").value = position.coords.latitude;
document.getElementById("lon").value = position.coords.longitude;
}
getLocation()
<script>
然后在数据库中,我可以使用 post:
获取地理位置def post(self):
lat = float(self.request.get("lat"))
lon = float(self.request.get("lon"))
问题是我想让每次用户刷新页面时更新当前位置。有什么办法吗?
我知道我可以使用 getDocumentbyId.submit() 但我想将此页面设为主页,用户可以根据自己的位置获取本地提要。所以,如果我在这个 html 中使用 getDocumentbyId.submit() 它将进入无限循环。
在处理请求时,GAE 会自动插入响应 header X-AppEngine-CityLatLong
,其中包含基于客户端请求的 IP 地址的纬度和经度。
您可以通过以下方式访问 header:
location = self.request.headers.get('X-AppEngine-CityLatLong')
更多信息在这里:http://rominirani.com/2012/04/25/appengine-location-detection-update-x-appengine-country-and-more/