protofunc()

AJAX managen

Tags: ajax, deutsch, javascript, jquery

Nicht selten wünscht man sich, von seinen AJAX-Responses , dass sie in der gleichen Reihenfolge ankommen, in der die Anfragen abgesendet wurden bzw. zumindest in der selben Reihenfolge in der sie beim Server verarbeitet wurden (z.B.: Warenkorb). In anderen Fällen ist dagegen klar, dass eine Antwort auf eine Anfrage keinen Sinn mehr macht, da der User sich - während der Verarbeitung des XHR-Requests - entschieden hat einen anderen Beitrag auszuwählen.

Aufgrund der Asynchronität von AJAX, schwankender Latency sowie unterschiedlich langer Verarbeitung durch serverseitige Scripte kann dies jedoch nicht vorausgesetzt werden. Um derartige sowie ähnliche AJAX-Anfragen zu behandeln, habe ich ein kleines jQuery-Plugin zum managen von AJAX geschrieben.

Mit diesem Script lassen sich AJAX-Anfragen queuen, abbrechen blocken sowie AJAX-Antworten synchronisieren. Zum $.ajaxManager.

Written November 11, 2007 by
alexander farkas

2 Comments »

  1. Hi Alexander,

    danke fuer deine Arbeit! Habe dein Plugin erfolgreich im Einsatz,
    es klappt super! Eigentlich sollte jQuery diese Funktionalitaet
    im Core haben, denn mehrere parallelle Ajax-Requests sind mitunter
    ja keine Seltenheit…

    Gruss,

    Falk

    Comment by Falk Pauser — July 9, 2008 @ 1:24 am

  2. Hallo Falk,

    danke für die Blumen. jQuery hat das wahrscheinlich deshalb nicht im Core, weil Ajax - entgegen des Hypes - im täglichen JS-Geeschäft relativ selten genutzt wird und bei Verwendung häufig unsinnige Doppelrequests, überholende Requests vernachlässigt werden.

    Es kann aber sehr gut sein, dass soetwas ähnliches entweder im jQuery-Core oder im UI-Core landen wird. Eine zukünftige Version von jQuery wird ein Autocomplete/Combobox-Plugin beinhalten. Das autocomplete-Plugin von Jörn Zäfferer (http://bassistance.de/2008/06/25/release-autocomplete-plugin-101/) wird hier wahrscheinlich Grundlage sein und dieses setzt wiederum das Ajax-Queue-Plugin (http://plugins.jquery.com/project/ajaxqueue).

    Comment by alexander farkas — July 27, 2008 @ 5:10 am

RSS feed for comments on this post | TrackBack URL

Leave a comment