Приветствую!
Пишу по старинке на jquery (проекты не сильно серьезные, и функционала библиотеки вполне хватает), страшно признаться, но раньше в плане аякса не придерживался DRY. И в каждой функции у меня висела запись вида:
$.ajax({
headers: {'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')},
url:'/ajax/action',
type:'post',
data: {'id' : id},
success: function(res) {
if(res['status'] == 'good') {
//code
}
else {
//code
}
}
});
Ну и вот надоело мне это, решил я один раз все это добавить в функцию, а изменяемые поля (данные, урл, метод и тд) выставить в качестве параметров. Получилось вот так:
function request (url, type, data) {
$.ajax({
headers: {'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')},
url: url,
type: type,
data: data,
success: function(res) {
if(res['status'] == 'good') {
//code
}
else {
//code
}
}
});
}
Вызываю, естественно так:
request('/ajax/action', 'get', {'par' : 1} );
Функция работает хорошо, но как в нее добавить еще одну функцию, которая бы вставлялась на success. Т.е. выполнялась после аякс запроса? Никак не могу придумать, надеюсь на вашу помощь.