In JSON-RPC 2.0 it would be a faulty server if it has the key error.
In JSON-RPC 1.0 the error can be there but with null.

I don't think it's good form to accept the null error as no error unless we know it's not 2.0.  I see two ways here:

1. Check if the response has "jsonrpc":"2.0", and if not, only trigger the error_cb if data.error is not null.
2. Let the user set protocol version on the client.  This requires a bit more coding, and would alter the requests a bit.

I would go with option 1 and keep option 2 for later :)