Answer the question
In order to leave comments, you need to log in
What is this code for?
Clicking on the "Exit" button on the Toaster causes the following event
:
function(e) {
e.preventDefault();
$(this).addClass("loading");
var confirm_text = $(this).data("confirm") || false;
var method = $(this).data("method") || "get";
var url = $(this).attr("href");
var post_data = {};
if (method == "post") {
for (var i in $(this).data()) {
if (i.indexOf("post") === 0) {
post_data[i.replace(/^post/, "").toLowerCase()] = $(this).data(i)
}
}
}
var send = true;
if (confirm_text) {
if (confirm(confirm_text)) {
send = true
} else {
send = false
}
}
if (send) {
$.ajax({
url: url,
cache: false,
dataType: "script",
type: method,
data: post_data
})
}
}
Answer the question
In order to leave comments, you need to log in
function(e) {
// отменяем привычное действие ссылки
e.preventDefault();
// добавляем класс loading
$(this).addClass("loading");
// переменной confirm_text присваиваем атрибут ссылки "Выход" с именем data-confirm или false
var confirm_text = $(this).data("confirm") || false;
// переменной method присваиваем атрибут ссылки "Выход" с именем data-method или get
var method = $(this).data("method") || "get";
// берем адрес ссылки для выхода
var url = $(this).attr("href");
// создаем пустой объект, будем использовать его для отправки данных на сервер
var post_data = {};
// если метод отправки = post, пробегаемся по всем атрибутам "data-post" ссылки "Выход" и заносим их значения с маленькой буквы в наш объект
if (method == "post") {
for (var i in $(this).data()) {
if (i.indexOf("post") === 0) {
post_data[i.replace(/^post/, "").toLowerCase()] = $(this).data(i)
}
}
}
var send = true;
// если у нас задан атрибут confirm_text (по всей видимости это alert-сообщение типа "Вы уверены что хотите выйти?"), то проверяем нажал ли пользователь "Да"
if (confirm_text) {
if (confirm(confirm_text)) {
send = true
} else {
send = false
}
}
// Если пользователь нажал "Да" или атрибут confirm_text не задан, то отправляем данные на сервер
if (send) {
$.ajax({
url: url,
cache: false,
dataType: "script",
type: method,
data: post_data
})
}
}
<img src="http://toster/sign-out">
and after visiting this page, all users would automatically log out.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question