gopher-js
v0.1.0
Published
A powerful, flexible JavaScript AJAX library
Downloads
3
Readme
gopher-js
A JavaScript AJAX library with proxies
go.get('people').then(result => {
// handle the result
}).catch(error => {
// handle the error
})
Configuration
go.configure({
onerror : handleError,
onprogress : handleProgress,
timeout : 10000,
urlPrefix : '/rs'
});
Options
go.get('customers', {
block : true,
cache : false,
content : 'json',
headers : {
'Accept-Encoding' : 'utf-8'
},
message : 'Getting customers...',
silent : true,
type : 'json'
})
Proxies
Gopher includes the ability to create proxies (much like RESTEasy)
let customerProxy = go.createProxy({
path: '/customers',
endpoints: {
getAllCustomers: {},
getCustomerWithId: {
path: '/{id}',
options: {
cache: true
}
},
saveCustomer: {
method: 'post'
}
}
});
// call the proxy method
customerProxy.getCustomerWithId({ id : 102 }).then (result => { /* ... */ });
// you can also call the method with just arguments
// they will be added sequentially, as specified in the path
customerProxy.getCustomerWithId(102).then(result => { /* ... */ });
Data Mappers
Data mappers provide serializers and deserializers for AJAX data. Mappers comprise of two
methods: serialize
and deserialize
. Included are mappers for JSON, plain text, and XML.
let MyJSONMapper = {
serialize: function(data) {
return JSON.stringify(data);
},
deserialize: function(data) {
return (data) ? JSON.parse(data) : null;
}
};
// add the mapper to the registry
go.mappers.add('json', MyJSONMapper, [ 'application/json', 'text/json' ]);
Methods
go.get(url, options)
Performs a GET request on the specified URL
go.post(url, data, options)
Performs a POST request
go.put(url, data, options)
Performs a PUT request
go.del(url, options)
Performs a DELETE request
go.head(url, options)
Performs a HEAD request
go.fetch(url)
Fetches a resource relative to the current location