Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 22nd, 2012  |  syntax: None  |  size: 2.36 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. jQuery jsonrpc 2.0 call via .ajax() gets correct response but does not work?
  2. $(document).ready(function(){
  3.        $.ajax({
  4.           url: 'http://localhost:8080',
  5.           data: JSON.stringify ({jsonrpc:'2.0',method:'add', params:[1400,2100],id:"jsonrpc"} ),  // id is needed !!
  6.           type:"POST",
  7.           dataType:"json",
  8.           success: function (result) {
  9.                  alert("ok");
  10.           },
  11.           error: function (err,status,thrown) {
  12.                  alert ("this syntax sucks!! " + " ERROR: " + err + " STATUS: " + status + " " + thrown );
  13.           },
  14.           complete: function (xhr,status) {
  15.                  alert('Complete=>  showing status as: '+ status);
  16.                  data = $.parseJSON(xhr.responseText);  
  17.                  alert (data);
  18.           }
  19.        });
  20.     });
  21.        
  22. #! /usr/bin/python2.6
  23.  
  24. import tornado.httpserver import tornado.ioloop import tornado.web
  25.  
  26. from tornadorpc.json import JSONRPCHandler from tornadorpc import private, start_server
  27.  
  28.  
  29. class MainHandler(tornado.web.RequestHandler):
  30.     def get(self,upath):
  31.         self.write( open('/home/travis/EXPLORE/webApps/index.html').read() )            
  32.  
  33. class Tree(object):
  34.  
  35.     def power(self, base, power, modulo=None):
  36.         return pow(base, power, modulo)
  37.  
  38.     def _private(self):
  39.         # Won't be callable
  40.         return False
  41.  
  42. class Handler(JSONRPCHandler):
  43.  
  44.     print ('In Handler()...')
  45.     tree = Tree()
  46.  
  47.     def add(self, x, y):
  48.         print ('add()  method called...')
  49.         return x+y
  50.  
  51.     def ping(self, obj):
  52.         return obj
  53.  
  54. # Order is important here.. first matched handler in array is used !! handlers = [
  55.             ('/RPC2',Handler),
  56.             (r"/(.*)", MainHandler),
  57.  
  58.             ]
  59.  
  60. start_server(handlers, port=8080)
  61.        
  62. <html>
  63. <head>
  64.    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
  65.  
  66.    <script>
  67.       $(document).ready(function(){
  68.  
  69.          $.ajax({
  70.             url: 'http://localhost:8080/RPC2',
  71.  
  72.             data: JSON.stringify ({jsonrpc:'2.0',method:'add', params:[1400,2100],id:"jsonrpc"} ),  // id is needed !!
  73.  
  74.             type:"POST",
  75.  
  76.             dataType:"json",
  77.             success:  function (data)       { alert("The result is : " + data.result);},
  78.             error: function (err)  { alert ("Error");}
  79.  
  80.          });
  81.  
  82.       });
  83.  
  84.  
  85.   </script>
  86.  
  87.  
  88. </head>
  89. <body>
  90.   <h1> jQuery JSON RPC 2.0 demo </h1>
  91.  
  92. </body>
  93. </html>