You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.8 KiB
JavaScript
64 lines
1.8 KiB
JavaScript
|
|
function sendRequest(requestType, requestData, source, completeFunc) {
|
|
sendRequestAdv(requestType, requestData, source, completeFunc, null, null, false);
|
|
}
|
|
|
|
function sendRequestAdv(requestType, requestData, source, completeFunc, messageFunc, messageDelay, binaryInput) {
|
|
var divId = createDivRelative("loadingDiv", source);
|
|
$('#' + divId).html("<img src='graphics/loading.gif' /> Wait...");
|
|
$('#' + divId).animate(
|
|
{
|
|
opacity: 1,
|
|
left: "+=30"
|
|
},
|
|
300,
|
|
function() {
|
|
$.ajax(
|
|
{
|
|
url: "request/" + requestType + ".php",
|
|
type: "POST",
|
|
data: requestData,
|
|
contentType: (binaryInput ? false : "application/x-www-form-urlencoded; charset=UTF-8"),
|
|
processData: !binaryInput,
|
|
dataType: 'text', // type of response
|
|
success: function(response) {
|
|
updateAfterRequest(divId, response, completeFunc, 200, messageFunc, messageDelay);
|
|
},
|
|
error: function(xhr, textStatus, errorThrown) {
|
|
updateAfterRequest(divId, xhr.responseText, completeFunc, xhr.status, messageFunc, messageDelay);
|
|
}
|
|
}
|
|
);
|
|
}
|
|
);
|
|
}
|
|
|
|
function updateAfterRequest(divId, response, completeFunc, status, messageFunc, messageDelay) {
|
|
if(messageFunc == null) {
|
|
messageFunc = function(success, status, response) {
|
|
return response;
|
|
};
|
|
}
|
|
var message = messageFunc((status == 200), status, response);
|
|
$('#' + divId).html("<img src='graphics/status.php?status=" + status + "' title='Status " + status + "' /> " + message);
|
|
|
|
setTimeout(
|
|
function() {
|
|
$('#' + divId).animate(
|
|
{
|
|
opacity: 0,
|
|
left: "+=50"
|
|
},
|
|
500,
|
|
function() {
|
|
removeDiv(divId);
|
|
}
|
|
);
|
|
if(completeFunc != null) {
|
|
completeFunc((status == 200), status, response);
|
|
}
|
|
},
|
|
(messageDelay != null ? messageDelay : (status == 200 ? 1000 : 6000))
|
|
);
|
|
}
|