【发布时间】:2011-04-08 03:32:24
【问题描述】:
在我的控制器/请求处理程序中,我有以下代码:
def monkey(self, **kwargs):
cherrypy.response.headers['Content-Type'] = "application/json"
message = {"message" : "Hello World!" }
return message
monkey.exposed = True
而且,在我看来,我有这个 javascript:
$(function() {
var body = document.getElementsByTagName("body")[0];
$.ajaxSetup({
scriptCharset : "utf-8",
contentType: "application/json; charset=utf-8"
});
$.post("@987654321@", "somePostData",
function(data) {
try{
var response = jQuery.parseJSON(data);
body.innerHTML += "<span class='notify'>" + response + "</span>";
}catch(e){
body.innerHTML += "<span class='error'>" + e + "</span>";
}
}
);
});
最后,这是我的问题。我没有收到 JSON 响应,我不知道为什么。
其次,是否有人能够解释如何在不使用工具的情况下以最简单的方式将我的控制器/请求处理程序响应中的数据格式化为 JSON 响应?
【问题讨论】:
-
你知道 CherryPy 提供了一个用于暴露函数的装饰器吗?只需将
@cherrypy.exposed放在def monkey...上方的行上 -
注意正确的装饰器现在是
@cherrypy.expose
标签: jquery python json cherrypy