jQuery-Ajaxreadystate-Plugin
Die jQuery-AJAX-Implementierung ist insofern etwas eingeschränkt, als sie keine Möglichkeit bietet, auf die readystatechange
-Ereignisse zu reagieren, die während der AJAX-Anfrage ausgelöst werden. In der jQuery.ajax
-API-Dokumentation heißt es tatsächlich Folgendes.
Allerdings ist kein
onreadystatechange
-Mechanismus vorgesehen, dadone
,fail
,always
undstatusCode
alle denkbaren Anforderungen abdecken.
Während diese Aussage für die meisten Anwendungsfälle zutrifft, was ist, wenn Sie auf die Antwortheader oder den Statuscode zugreifen möchten, bevor die gesamte Anforderung abgeschlossen ist, oder auf den Antworttext, während dieser gestreamt wird?
Offensichtlich bietet jQuery diese Funktionalität aufgrund von Browserkompatibilitätsproblemen nicht, daher fügt dieses Plugin diese zusätzliche Funktionalität für Browser hinzu, die diese Funktionen unterstützen (siehe Kompatibilitätshinweise unten).
Dieses Plugin funktioniert, indem es eine neue Methode jQuery.ajaxreadystate
hinzufügt, die als Wrapper für jQuery.ajax
fungiert, die Funktionalität erweitert und das jqXHR
Objekt aktualisiert, um die Einschränkungen zu entfernen und Eigenschaften zu aktualisieren, wenn sich der readyState
ändert.
Sie verwenden jQuery.ajaxreadystate
genauso wie jQuery.ajax
, außer dass Sie eine zusätzliche Methode definieren können, die readystate
-Methode.
jQuery . ajaxreadystate ( {
readystate : function ( jqXHR , readyState ) {
}
} ) ;
Diese Methode wird jedes Mal ausgelöst, wenn die Anforderung ein readystatechange
-Ereignis auslöst, und übergibt das aktualisierte jqXHR
Objekt und den aktuellen readyState
.
Sie können die neueste stabile und minimierte Version aus dem Abschnitt „Releases“ dieses Repositorys herunterladen. Alternativ können Sie den Repository-Download von einem Paketmanager klonen.
###Vollständig unterstützt
Die folgenden Browser werden vollständig unterstützt.
###Teilweise unterstützt
Die folgenden Browser werden aufgrund technischer Einschränkungen des Browsers teilweise unterstützt. Kompatibilitätsprobleme werden erwähnt.
responseText
ist erst verfügbar, wenn readyState
4
ist.readystatechange
-Ereignis für readyState
3
aus.responseText
ist erst verfügbar, wenn readyState
4
ist.status
und statusText
werden erst aktualisiert, wenn readyState
4
ist.getAllResponseHeaders
und getResponseHeader
geben null
zurück, bis readyState
4
ist.readystate
Rückruf wird nur für readyState
1
ausgelöst.responseText
ist erst verfügbar, wenn readyState
4
ist.status
und statusText
werden erst aktualisiert, wenn readyState
4
ist.getAllResponseHeaders
und getResponseHeader
geben null
zurück, bis readyState
4
ist.getAllResponseHeaders
und getResponseHeader
geben null
zurück, bis readyState
3
ist.getAllResponseHeaders
und getResponseHeader
geben null
zurück, bis readyState
3
ist.readystatechange
-Ereignis für readyState
3
aus.status
und statusText
werden erst aktualisiert, wenn readyState
3
ist.readystatechange
-Ereignis für readyState
3
aus.status
und statusText
werden erst aktualisiert, wenn readyState
3
ist.readystatechange
-Ereignis für readyState
3
aus.getAllResponseHeaders
und getResponseHeader
geben null
zurück, bis readyState
4
ist.Ältere Browser als die aufgeführten wurden nicht getestet, werden aber möglicherweise teilweise oder vollständig unterstützt.
Dieses Plugin ist mit jQuery 1.5+ und jQuery 2.0.0+ kompatibel.
Um einen minimierten Build zu erstellen, führen Sie diesen Befehl im Stammverzeichnis dieses Repositorys aus.
$ npm run build
Wenn Sie einen Fehler finden oder Kompatibilitätsprobleme haben, die oben nicht dokumentiert sind, öffnen Sie bitte ein Ticket im Abschnitt „Probleme“ für dieses Repository.
Siehe LICENSE.txt
Sollte diese Lizenz für Sie nicht funktionieren, können Sie mich gerne kontaktieren.
Wenn Sie meine Software nützlich finden, denken Sie bitte über eine kleine Spende auf meiner Website alexomara.com nach.