在谷歌应用引擎中将数据从javascript发送到python

时间:2012-12-21 07:32:11

标签: javascript jquery python ajax google-app-engine

我想使用python在谷歌应用引擎中创建一个应用程序。我必须将一个json字符串列表发送到python脚本。我已经完成了以下代码但是没有工作。

$.post("/javascriptdata",{v:s},function(data,status) {});

在python脚本中,我有一个名为javascriptdata的类,其中数据必须发送到

import wsgiref.handlers
import json
import sys
import cgi
from google.appengine.ext import webapp
from google.appengine.ext.webapp import Request
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp import template

class mainh(webapp.RequestHandler):
    def get(self):
        self.response.out.write(template.render("paint.html",{}))

class javascriptdata(webapp.RequestHandler):
    def post(self):
        self.response.headers['content-Type'] = 'html'
        data1=self.request.get('v')
        self.response.out.write("""<html><body>""")
        self.response.out.write(data1)
        self.response.out.write("""</body></html>""")


def main():
    app = webapp.WSGIApplication([
        ('/',mainh),("/save",javascriptdata)], debug=True)
    wsgiref.handlers.CGIHandler().run(app)


if __name__ == "__main__":
    main()

javascriptdata与网址“/ save”相关联。我创建了一个名为“save”的提交按钮,该按钮将重定向到/ save但是我没有得到任何输出。我知道这可能是一个愚蠢的错误,但我努力解决它。请建议我如何发布和阅读此代码的数据。

1 个答案:

答案 0 :(得分:3)

这似乎很可疑:

$.post("/javascriptdata",{v:s},function(data,status) {});

因为您没有在python代码中映射/javascriptdata URL。也许你的意思是

$.post('/save', ...

或者,您可以将WSGIApplication init更改为:

...("/javascriptdata",javascriptdata)...