2015-04-01 98 views
-1
class RPCHandler(webapp2.RequestHandler): 
     def __init__(self): 
     webapp2.RequestHandler.__init__(self) 
     self.methods = ConceptsRPCMethods() 
    def get(self): 
     func = None 
     action = self.request.get('action') 
     if action: 
      if action[0] == '_': 
       self.error(403) # access denied 
       return 
      else: 
       func = getattr(self.methods, action, None) 
     if not func: 
      self.error(404) # file not found 
      return 
    else : 
     args =() 
     while True: 
      key = 'arg%d' % len(args) 
      val = self.request.get(key) 
      if val: 
       args = (json.loads(val),) 
      else: 
       break 
     result = func(*args) 

     self.response.out.write(json.dumps(result)) 

我将更多地解释我的程序。问题在于,当用户点击一个树结构时,它会使用回调函数向我的代码发送一个操作(使用XMLHTTPRequest对象),以确定是否将树扩展一个级别或在页面上显示信息。__init __()需要1个参数(3给出)Google Appengine

因此,上面的代码应该从回调函数接收所需的操作,该函数发送3条信息(Get方法,函数,异步),以便ConceptRPCMethods()可以处理请求的顺序。 YAHOO.util.Connect.asyncRequest('GET','/ rpc?'+ query,callback);

我想我需要使python代码接收3个参数,但我不知道在哪里添加它或如何?

非常感谢

+0

我正在使用webapp2请求处理程序 – 2015-04-01 19:14:33

+0

wekcome Noorhan,或许您应该添加一些更多的细节和代码的有趣部分:) – AdrieanKhisbe 2015-04-01 19:44:39

回答

0
class foo(object): 

    def __init__(self, arg1, arg2): 
     blah 
     blah 

__init__需要自我默认情况下,所以一定要确保你只超过了其他参数:ARG1和ARG2。

很有可能您的类构造函数不需要任何其他参数,但是您将一些参数传递给构造函数,从而传递错误消息。

相关问题