AJAX storage plugin for Mio. Pair with mio-express for automatic client-server communication.
Installation
Using bower:
bower install mio-ajax
Using browser script tag and global (UMD wrapper):
// Available as window.mio.ajax
Usage
var mio = ;var ajax = ; var User = mioResource; User;
The example above would expect the following API:
GET /users // Return a JSON list of all users.
POST /users // Creates a new user. Returns JSON of that user.
DELETE /users // Destroys all users.
PATCH /users // Updates multiple users.
GET /users/:id // Return a JSON user object.
PUT /users/:id // Replaces existing user.
PATCH /users/:id // Updates existing user.
DELETE /users/:id // Destroys user.
options
- patch
Boolean
use PATCH forResource#save
(default: true) - header
Object.<String:String>
map of request header fields to values
Defining Alternative Routes
You can specify alternative routes using options.url.actions
:
User
This would make it so that the following routes were used:
GET /users/:username
PATCH /users/:username
DEL /users/:username
Retrying requests
You can use the retry
function passed to the ajax error
event to retry
requests.
User;
Events
ajax:request
Emitted before XHR request is sent.
User;
ajax:response
Emitted after the XHR request is complete.
User;
ajax:error
Emitted on XHR error and 4xx or 5xx responses, with an Error
as the first
argument and a retry
function as the second argument.
If executed, the retry function will retry the request and execute the
original callback once the request is complete. If a new callback is supplied to
retry()
then that will be used when the retried request completes.
User;