所以我有这个html / js试图测试一个ajax帖子
<html>
<head>
<script src="js/jquery-1.8.2.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
document.write("booo");
var data = {"lat":5};
$.ajax({
type: "POST",
url: "/geo",
data: data,
});
});
var data = {"lat":5};
$.ajax({
type: "POST",
url: "/geo",
data: data,
});
</script>
</head>
<body>
<form method="post">
<input name="lat" type="text">
<input name="lon" type="text">
<input type="submit">
</form>
</body>
</html>
现在我只是试图发布数据,在python中将其取出并将其写回/存储在db中但是我的ajax post函数没有发生任何事情。这是我的python,
class GeoHandler(Handler):
def get(self):
self.render("geo.html")
def post(self):
lat = self.request.get("lat")
lon = self.request.get("lon")
self.write(lat)
loc = models.LocModel(coords = db.GeoPt(lat,lon), hm = str(lat).join(str(lon)))
loc.put()
我的网址处理程序是
('/geo', GeoHandler),
最终我正在尝试使用javascript来捕获我的用户的位置数据并将其映射...但app engine / webapp2只喜欢抓住客户端的ipv6并且无法获取ipv5的位置数据但是地理数据有html5 / js solns ..但我甚至无法将基本数据发布到服务器
答案 0 :(得分:1)
您未在数据中加入"lon"
。像这样:
var data = {"lat": 5, "lon": 6}
您可能还需要查看Request Headers,更具体地说,请查看X-AppEngine-CityLatLong
。这是一个城市级别,当然这取决于您的应用程序。