Как из метода .done ajax получить данные в место вызова функции
У меня есть вот такая функция send_ajax
function send_ajax (data, request_path) {
function getCookie(name) {
let cookieValue = null;
if (document.cookie && document.cookie !== '') {
const cookies = document.cookie.split(';');
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i].trim();
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
const csrftoken = getCookie('csrftoken');
$.ajax({
url: 'http://127.0.0.1:8000' + request_path,
type: "POST",
headers: {'X-CSRFToken': csrftoken},
data: JSON.stringify(data),
dataType: 'json',
contentType: "application/json;charset=utf-8",
statusCode: {
500: function (response) {
console.log('ОШИБКА СЕРВЕРА - код 500');
}
}
})
.done(function (data) {
if (data["basket_dialog_response"]) {
productAdded_basket_dialog_show(data['basket_dialog_response'])
}
if (data['callback']){
//________________________________________________________
let some_data = data['something']
//ВОТ ЭТУ переменную мне нужно отправить в место вызова функции
}
})
В ней после отправки ajax запроса на сервер django приходит ответ в data, нужную переменную я записываю в done и теперь мне нужно передать её обратно в обработчик, откуда я вызвал эту функцию, чтоб выполнить проверку и удалить один элемент из списка через $(this).remove.
Он выглядит так
$(`.counter_display`).on('change', function () {
let item_id_in_cart = $(this).attr('name')
let item_quantity = $(this).val()
let data = {'item_id_in_cart': item_id_in_cart, "item_quantity": item_quantity, "key": "recalc"}
send_ajax(data, {{ request.path }})
let text = send_ajax/done/my some var
и например на основе этой переменной я делаю проверку и если нужно делаю:
$(this).remove()
}
)
Просто вызывает функцию и передает туда данные для отправки. Так как мне в обработчике on change получить после вызова функции ту переменную?