我正在使用Python JSON-RPC实现编写Web应用程序,服务器端使用http://json-rpc.org/wiki/python-json-rpc,客户端使用jQuery ajax API。
这是我第一次在Python中实现JSON服务,因此我从上述网站复制了示例(在Apache 2.2上运行CGI)。
但是当我尝试在我的页面上下文中使用jQuery在firebug控制台进行ajax调用时:
我经常遇到这个错误:
#!/usr/bin/env python
from jsonrpc import handleCGI, ServiceMethod
@ServiceMethod
def echo(msg):
return msg
if __name__ == "__main__":
handleCGI()
使用提供的Python ServiceProxy类作为客户端(控制台中)一切正常:
from jsonrpc import ServiceProxy
s = ServiceProxy("http://localhost:8080/mypage/bin/controller.py")
print s.echo("hello")
但是当我尝试在我的页面上下文中使用jQuery在firebug控制台进行ajax调用时:
var jqxhr = $.getJSON("bin/controller.py", {"params": ["hello"], "method": "echo", "id": 1}, function(data) { alert('success!'); });
我经常遇到这个错误:
{"error":{"message":"","name":"ServiceRequestNotTranslatable"},"result":null,"id":""}
我做错了什么?