xhr.js
1.0.0
xhr.js est une bibliothèque (< 2 Ko) pour effectuer des requêtes reposantes AJAX/HTTP avec XMLHttpRequest . Il a une API similaire avec
Python-requests
.
1. Installez xhr.js
npm install xhr.js
2. importer xhr.js
L'importation UMD est prise en charge, puis obtenez l'objet global : XHR
.
import XHR from 'xhr.js' ;
// or
var XHR = require ( "xhr.js" ) ;
ou lien avec script
dans des fichiers HTML :
< script src = "dist/xhr.min.js" > </ script >
3. utiliser la classe XHR
var xhr = XHR ( async ) ; // default is async. you can set sync use XHR(false)
xhr . on ( 'success' , function ( result ) {
console . log ( 'status:' , result . status ) ;
console . log ( 'statusText:' , result . statusText ) ;
console . log ( 'url:' , result . url ) ;
console . log ( 'responseType:' , result . responseType ) ;
console . log ( 'text:' , result . text ) ;
console . log ( 'headers:' , result . headers ) ;
console . log ( 'ok:' , result . ok ( ) ) ; // get the json result.
console . log ( 'json:' , result . json ( ) ) ; // get the json result.
console . log ( 'xml:' , result . xml ( ) ) ;
console . log ( 'blob:' , result . blob ( ) ) ;
} ) ;
xhr . get ( 'package.json' , { 'a' : 'b' } ) ;
Un autre post
démo :
var xhr = XHR ( ) ;
xhr . post ( '/post_url' , { 'a' : 'b' } , function ( r ) {
r = r . json ( ) ; // get the json result.
// write your code
} ) ;
Téléchargez le fichier avec l'objet FormData
:
var fd = new FormData ( document . querySelector ( '#submit_form' ) ) ;
var xhr = new XHR ( ) ;
xhr . post ( '/submit/new' , fd , function ( r ) {
// request success
r = r . json ( ) ;
console . log ( r ) ;
} ) ;
L'API de l'instance xhr.
xhr.request(method, url, body, onsuccess, onfail)
: demande l'url, avec la méthode.xhr.on(event_key, event_func)
: lie le résultat de la demande (prêt, erreur, succès, échec), avec l'instance de résultat en entrée.xhr.get(url, params, onsuccess, onfail)
: obtenir la demande.xhr.post(url, params, onsuccess, onfail)
: demande de publication.xhr.setRequestHeader(header_name, header_value)
: ajoute un en-tête.xhr.setAsync(aysnc)
: définir la demande async/sync.xhr.url()
: récupère l'url de la requête.xhr.body()
: récupère le corps de la requête.xhr.abort()
: demande d'abandon.xhr.reset()
: réinitialise l'instance xhr, telle que l'URL, les en-têtes, le corps, les événements. Les clés evnet sont destinées à l'API on
.
ready
: quand xhr
est prêt.success
: lorsque status_code is 200
.fail
: lorsque status_code is not 200
. L'API est destinée au result
du paramètre de fonction de rappel de demande.
result.text
: récupère tout le texte de la réponse ;result.status
: le code de réponse du serveur ;result.statusText
: le texte du code de réponse du serveur, par exemple ok
(le code d'état est 200
).result.responseType
: type de réponse ;result.headers
: récupère tous les objets d'en-têtes de réponse ;result.ok()
: la demande est-elle correcte ?result.json()
: récupère l'objet json du texte de réponse ;result.xml()
: récupère l'objet XML du texte de réponse ;result.blob()
: récupère l'objet blob du texte de réponse ;MIT