You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lychee/src/scripts/api.js

47 lines
724 B

/**
* @description This module communicates with Lychee's API
*/
api = {
path : 'php/index.php',
onError : null
}
api.post = function(fn, params, callback) {
loadingBar.show()
params = $.extend({ function: fn }, params)
const success = (data) => {
setTimeout(loadingBar.hide, 100)
// Catch errors
if (typeof data==='string' && data.substring(0, 7)==='Error: ') {
api.onError(data.substring(7, data.length), params, data)
return false
}
callback(data)
}
const error = (jqXHR, textStatus, errorThrown) => {
api.onError('Server error or API not found.', params, errorThrown)
}
$.ajax({
type: 'POST',
url: api.path,
data: params,
dataType: 'json',
success,
error
})
}