0

I would like to call POST method using javascript of my phonegap app such that I am able to post to a form hosted on google app engine .

Here is the code for form :

<!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>

Following is code for my app-engine running python :

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)

I want to know the way such that I can post and save data to my app-engine running a simple javascript from third-side , without loading the url.

lets say my appengine url: www.linux.appspot.com

p.s: I am new to web development , just completed the course on udacity , even a hint is okay if you are not willing to answer .

Harshit
  • 1,207
  • 1
  • 20
  • 40

0 Answers0