【问题标题】:jquery ajax to python GAEjquery ajax 到 python GAE
【发布时间】:2015-05-29 16:50:19
【问题描述】:

我有一个使用 python 的基本 Google App Engine 项目。我想在我的网站上实现一种日志记录(我知道谷歌应用引擎有这种功能)。同样在未来,我想用同样的想法为我的一些游戏添加高分。对于我的日志记录,我有一个包含以下内容的基本 page.py:

from google.appengine.api import users
from google.appengine.ext import ndb
import webapp2
import json




class Save(ndb.Model):
  time = ndb.DateTimeProperty(auto_now_add=True)
  url=ndb.StringProperty()
  user=ndb.StringProperty()

class MainPage(webapp2.RequestHandler):


  def post(self):

    data = json.loads()
    self.stuff.url=(data)
    self.stuff.put()


app = webapp2.WSGIApplication([
    ('/page.py', MainPage),
], debug=True)

这是我实施整个事情之前的测试。我想在我的日志中保存日期、用户和页面标题。我知道如何得到其他的东西。我希望 html 中的 jQuery 将页面标题发送到 python 文件。这是我的 jQuery。

$.ajax({
        type: "POST",
        url: "/page.py",
        dataType: 'json',
        data: ('index')
    })

对html很了解,第一次玩jQuery和json,对python也很了解。

我的问题。这个 ajax 文件传输应该如何工作?我需要一个 json.loads() 的参数那是什么,它是如何工作的?一个简单的例子将不胜感激。

我做过谷歌搜索和堆栈溢出搜索,但我没有找到一个简单的解释和例子。

提前致谢。

以利亚

【问题讨论】:

  • 请不要给您的网址提供 .py 后缀。 Python 为后端提供动力这一事实与 URL 本身完全无关。
  • 好的听起来不错,会的:)

标签: jquery python ajax google-app-engine


【解决方案1】:

你可以使用

class MainPage(webapp2.RequestHandler):

    def post(self):

        data = self.request.body
        args = json.loads(data)
        .... and put the data ....

但为什么不使用:https://cloud.google.com/appengine/docs/python/endpoints/

或从这里开始:https://www.youtube.com/watch?v=uy0tP6_kWJ4

【讨论】:

  • 我尝试了你所说的并得到了这个错误:args = simplejson.loads(data) NameError: global name 'simplejson' is not defined。我还没有阅读文档或观看视频。谢谢你这么快的回答。
  • 我刚刚查看了有关后端的文档。我可以那样做。在我看来,坚持使用 json 请求可能更简单。
  • 可以使用json。我已经改变了答案
  • 我尝试了你的新代码并得到了错误:raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded INFO 2015-06-01 18:39:49,798 module .py:788] 默认值:“POST /page.py HTTP/1.1”500 2690。希望我不会太痛苦:) 谢谢你的帮助
  • 我在玩 json,几个小时后我发现 json.dumps(data) 有效。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 2012-09-21
  • 2015-06-18
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多