Je voudrais savoir s'il existe une meilleure approche pour créer un objet ajax réutilisable pour jquery.Motif ajax JS réutilisable (jquery)
Ceci est mon code non testé.
var sender = {
function ajax(url, type, dataType, callback) {
$.ajax({
url: url,
type: type,
dataType: dataType,
beforeSend: function() {
onStartAjax();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
callback.failure(XMLHttpRequest, textStatus, errorThrown);
},
success: function(data, textStatus) {
callback.success(data, textStatus);
},
complete: function (XMLHttpRequest, textStatus) {
onEndAjax();
}
});
},
function onStartAjax() {
// show loader
},
function onEndAjax() {
// hide loader
}
};
<script type="text/javascript">
var callback = {
success: function(data, textStatus) {
$('#content').html(data);
},
failure: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Error making AJAX call: ' + XMLHttpRequest.statusText + ' (' + XMLHttpRequest.status + ')');
}
}
sender.ajax(url, type, dataType, callback);
</script>
vous pourriez envisager de retourner la promesse elle-même dans votre sender.ajax ('retour .ajax $ ({...}) ') afin que vous puissiez attacher d'autres rappels du client. Bien sûr, si vous préférez cacher complètement ajax jquery de l'autre code, vous ne devriez pas faire cela. – Stefan