要发布到appengine上托管的表单,请使用javascript而不加载网页。

时间:2013-12-08 15:37:42

标签: javascript html5 google-app-engine jquery-mobile cordova

我想使用我的phonegap应用程序的javascript调用POST方法,以便我能够发布到谷歌应用程序引擎上托管的表单。

以下是表单的代码:

<!DOCTYPE html>

<html>
    <head>
      <title>savedata</title>
    </head>

    <body>
      <h1>savedata</h1>
      <form method="post">
        <label>
            <div>Latitude</div>
            <input type="number" step = 0.00001 name="lat" >
        </label>
        <label>
            <div> Longitude </div>
            <input type="number" step = 0.00001 name="lon" >
        </label>

        <div class="error">{{error}}</div>
        <input type="submit">   

       </form>
    <hr>
    {% for loc in locs %}
        <div class = "loc">
            <div class ="lat">{{loc.latitude}}</div>
            <pre class ="lon">{{loc.longitude}}</pre>
        </div>
    {% endfor %}
    </body>
</html>

以下是运行python的app-engine的代码:

class Handler(webapp2.RequestHandler):
    def write(self,*a,**kw):
        self.response.out.write(*a,**kw)

    def render_str(self,template,**params):
        t = jinja_env.get_template(template)
        return t.render(params)

    def render(self,template,**kw):
        self.write(self.render_str(template,**kw))

class Location(db.Model):
    latitude = db.FloatProperty(required=True)
    longitude = db.FloatProperty(required=True)
    created = db.DateTimeProperty(auto_now_add=True)

class MainPage(Handler):
    def render_front(self,lat="",lon="",error=""):
        arts = db.GqlQuery("select * from Location order by created desc")  
        self.render('front.html',lat=lat,lon=lon,error=error,locs=arts)

    def get(self):
        self.render_front()

    def post(self):
        lat = self.request.get("lat")
        lon = self.request.get("lon")
        lat = float(lat)
        lon = float(lon)
        if lat and lon:
            a = Location(latitude=lat, longitude=lon)
            a.put()
            self.redirect("/")
        else:
            error="we need both title and some art"
            self.render_front(lat,lon,error)

application = webapp2.WSGIApplication([('/',MainPage)],debug=True)

我想知道这样的方式,我可以发布并保存数据到我的app-engine运行一个简单的javascript从第三方,而不加载网址。

我想说一下我的引擎网址:www.linux.appspot.com

p.s:我是网络开发的新手,刚刚完成了关于udacity的课程,如果你不愿意回答,即使是一个提示也没关系。

0 个答案:

没有答案