我已经成功完成了 jQuery post。但是,为了获取从服务器端返回的数据。谁能举例说明如何使用 webapp 框架在 Google App Engine (Python) 中完成此操作?
如果可能的话,我需要例子:
- 我们如何将 json 数据发送到模板。
- 从模板中,我们如何访问 jQuery 发布成功函数后的 json。
- 如果有人可以将其发布到http://jsfiddle.net,我将不胜感激
我已经成功完成了 jQuery post。但是,为了获取从服务器端返回的数据。谁能举例说明如何使用 webapp 框架在 Google App Engine (Python) 中完成此操作?
如果可能的话,我需要例子:
首先了解json模块。本机 json 模块无法在 appengine 上运行,所以也可以
import django.utils.simplejson as json
然后,将您的“json”对象格式化为 Python dicts,
obj = {"name": "foo", "age": 20}
然后使用 json.dumps 获取一个 str 对象,它代表 JSON 对象。
json_obj = json.dumps(obj)
这里,json_obj
是一个字符串,因此您可以使用常规方法编写它。(在交互式解释器中尝试)
之后阅读此页面以获取有关 webapp 框架中模板的信息(我使用 Django,我不确定 webapp 是否使用相同的模板系统 - 虽然它看起来很相似,所以最好阅读一下)
如果您在谈论 jQuery AJAX POST,则必须在服务器端生成 (X)HTML/XML/whatever,当然,除非您导致一些 post-POST URL 被加载到框架。
如果那不能回答您想要的,请稍微澄清您的问题。IMO 不太可能有人将带有代码的答案发布到 jsfiddle。
JSON 变得简单:
data_json = []
创建一个空数组data_json.append({ 'data1': first-item, 'data2': second-item, ...})
- 根据需要附加尽可能多的数据output = json.dumps(data_json)
创建 json 输出self.response.out.write(output)
为避免跨域问题,您需要使用回调函数填充输出(称为 JSON/P)。padded_output = callback_fn + "(" + output + ")"
其中 callback_fn 是用户发送的回调函数(通常由 jQuery 生成)。
我实际上是在寻找如何将 Json 对象从服务器端取回到我编写的 jQuery ajax 帖子的答案。所以,在这里我发现了我之前的解决方案出了什么问题:
因此,解决方案很简单:
$.post("POST_URL", $("#form").serialize(),
function(data){
alert(data); //data returned from server side
}, "json");
所以,我犯了两个错误: