0

所以我有这个 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 函数没有发生任何事情。这是我的蟒蛇,

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 解决方案.. 但我什至无法将基本数据发布到服务器

4

1 回答 1

1

您没有将 包含"lon"在数据中。像这样的东西:

 var data = {"lat": 5, "lon": 6}

您可能还想查看请求标头,更具体地说是X-AppEngine-CityLatLong. 这是一个城市级别,当然这取决于您的应用程序。

于 2012-10-10T23:29:58.210 回答