Skip to content

jcubic/json-rpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is JSON-RPC implementaion, server in php and client in javascript based on version 1.1 of the Specification

Server

<?php
require('json-rpc.php');

class Foo {
    function ping($str) {
        return "pong '$str'";
    }
}

handle_json_rpc(new Foo());

?>

Client

rpc({
    url: "foo.php",
    error: function(error) {
        alert(error.message);
    },
    // errorOnAbort: true,
    debug: function(json, which) {
        console.log(which + ': ' + JSON.stringify(json));
    }
})(function(foo) {
    // now here you can access methods from Foo class
    foo.ping("Hello")(function(response) {
        alert(response);
    });
});

if you prefer to use promises, you can use option promisify: true:

rpc({
    url: 'servce.php'.
    promisify: true
}).then(function(service) {
    service.ping("hello").then(function(response) {
       alert(resonse);
    });
});

Requirement

  • mbstring php module

License

Released under the MIT license
Copyright (c) 2011-2021 Jakub T. Jankiewicz