This is a small library that sits on top of jQuery for communicating with XML-RPC services - without worrying about the horrible bloat of XML-RPC. Using this library, you can pass JSON parameters to the library, and receive responses in JSON. Encoding the JSON document is handled for you, intelligently mapping types between the two languages.
Simply include the jQuery library, and this library in your page:
<script src="jquery-1.8.1.js"></script>
<script src="jquery.xmlrpc.js"></script>
This was built upon jQuery 1.8.1. It will probably work with old versions, and will probably continue to work with new versions.
The jQuery.xmlrpc
function is the main work-horse of this library. Call it
like so:
$.xmlrpc({
url: '/RPC2',
methodName: 'foo',
params: ['bar', 1, 4.6, true, [1, 2, 3], {name: 'value'}],
success: function(response, status, jqXHR) { /* ... */ },
error: function(jqXHR, status, error) { /* ... */ }
});
It takes all of the same arguments as jQuery.ajax
, so refer there for more
documentation. The two new keys added are:
This is method put in the <methodName>
element from XML-RPC. It should be a
string. The XML-RPC service you are communicating with will determine valid
method names you can call.
An array of parameters to send. Specify an empty array, or do not supply this key at all if you do not want to send any parameters.
See the docs section on Encoding and Decoding XML-RPC Documents for more information.
When the XML-RPC call returns, the contents of the <params>
element are
parsed into JSON and supplied to the success
callback of the AJAX call as the
first parameter, much like a JSON request.
If any HTTP errors occur during transport, the normal jQuery AJAX error
handling will be used. If the XML-RPC service successfully replies, but replies
with a <fault>
response, an $.xmlrpc.XmlRpcFault
is thrown. This error will
be sent as the third parameter to the error
callback of the AJAX call, as
with other errors.