30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
|
function api_ajax_request(method, url, onSuccess, onFail, sendData) {
|
||
|
var xmlhttp = new XMLHttpRequest();
|
||
|
// csrftoken is set globally
|
||
|
xmlhttp.onreadystatechange = function() {
|
||
|
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
|
||
|
if (xmlhttp.status == 200) {
|
||
|
//console.log("Success:"+xmlhttp.responseText);
|
||
|
onSuccess(method, url, JSON.parse(xmlhttp.responseText));
|
||
|
} else {
|
||
|
onFail(method, url, xmlhttp.status, xmlhttp.responseText);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
xmlhttp.open(method, url);
|
||
|
xmlhttp.setRequestHeader('X-CSRFToken', csrftoken);
|
||
|
if (sendData === null || typeof sendData === 'undefined') {
|
||
|
xmlhttp.send();
|
||
|
} else {
|
||
|
xmlhttp.send(JSON.stringify(sendData));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function api_ajax_request_without_send(method, url, onSuccess, onFail) {
|
||
|
return api_ajax_request(method, url, onSuccess, onFail, null);
|
||
|
}
|
||
|
|
||
|
function api_search_user(search, onSuccess, onFail) {
|
||
|
return api_ajax_request_without_send('GET', api_urls_v1['user-list']+`?search=${encodeURIComponent(search)}`, function(method, url, json) {onSuccess(json);}, onFail);
|
||
|
}
|