Git Product home page Git Product logo

jquery-jsonrpc's Introduction

JSON RPC 2.0 jQuery Plugin

A JSON RPC 2.0 compatible client library and jQuery (1.4, 1.5, and 1.6 compatible) plugin.

First, a quick compatibility note

If you need to support IE6 & IE7, you will need to include Douglas Crockford's JSON library in order for this plugin to work. The specific file you need from that repository is json2.js.

Getting Started

The simplest way to configure jsonRPC is via the setup method

$.jsonRPC.setup({
  endPoint: '/rpc',
  namespace: 'datagraph'
});

This will set a default endpoint and namespace for all subsequent requests.

Once you've configured an end point, making requests is a matter of

$.jsonRPC.request('method.name', {
  params: params,
  success: function(result) {
    // Do something with the result here
    // It comes back as an RPC 2.0 compatible response object
  },
  error: function(result) {
    // Result is an RPC 2.0 compatible response object
  }
});

Want to do batch requests? We've got you covered

$.jsonRPC.batchRequest([
    {
      method: 'method.one',
      params: [1,2,3]
    },
    {
      method: 'method.two'
    }
  ], {
    success: function(result) {
      // Handle response object here
    }
  }
});

Need to temporarily override your end point or namespace? Easy enough...

$.jsonRPC.withOptions({
  endPoint: '/anotherRpc',
  namespace: 'somethingElse'
}, function() {
  this.request('method.name');
});

After your call, your endPoint and namespace are back to their defaults. Or you can override the end point for a single request via

$.jsonRPC.request('method.name', {
  params: [1,2,3],
  endPoint: '/anotherEndPoint'
});

Running the tests

The tests currently rely on being able to successfully make local AJAX calls to load test data. This works fine in Firefox (3.6, 4, and 5), but WebKit (Chrome and Safari) does not allow file-based AJAX calls. To successfully run tests in Safari or Chrome, you will need to serve the tests from a proper web server like Apache or Nginx. The tests have been verified against jQuery 1.4, 1.5, and 1.6.

Authors, License, Development, Thanks

Authors

'License'

This plugin is free and unemcumbered software released into the public domain. For more information, see the included UNLICENSE file.

Development / Contributing

Fork it on Github and go. Please make sure you're kosher with the UNLICENSE file before contributing.

Add your tests (see test directory), make sure they all pass, and submit a pull request.

Thanks

Inspiration for this plugin came from (and is partly based on) the following existing plugins:

jquery-jsonrpc's People

Contributors

artob avatar bikeshedder avatar ex-nerd avatar jhuckabee avatar kaidokert avatar lucifurious avatar madssj avatar monmonja avatar tchajed avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.