xhr.js
1.0.0
xhr.js 是一个使用XMLHttpRequest发出 AJAX/HTTP Restful 请求的库(< 2Kb)。它具有与
Python-requests类似的 API。
1.安装xhr.js
npm install xhr.js2.导入xhr.js
支持 UMD 导入,然后获取全局对象: XHR 。
import XHR from 'xhr.js' ;
// or
var XHR = require ( "xhr.js" ) ;或与 html 文件中的script链接:
< script src = "dist/xhr.min.js" > </ script > 3.使用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' } ) ;另一篇post演示:
var xhr = XHR ( ) ;
xhr . post ( '/post_url' , { 'a' : 'b' } , function ( r ) {
r = r . json ( ) ; // get the json result.
// write your code
} ) ;使用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 ) ;
} ) ;xhr实例的API。
xhr.request(method, url, body, onsuccess, onfail) :使用方法请求 url。xhr.on(event_key, event_func) :将请求结果(就绪、错误、成功、失败)与输入的结果实例绑定。xhr.get(url, params, onsuccess, onfail) :获取请求。xhr.post(url, params, onsuccess, onfail) :发布请求。xhr.setRequestHeader(header_name, header_value) :附加标头。xhr.setAsync(aysnc) :设置请求异步/同步。xhr.url() :获取请求 url。xhr.body() :获取请求正文。xhr.abort() :中止请求。xhr.reset() :重置 xhr 实例,例如 url、headers、body、events。 evnet 密钥适用on .
ready :当xhr准备好时。success :当status_code is 200 。fail :当status_code is not 200时。 该api用于请求回调函数参数result 。
result.text :获取所有响应文本;result.status :服务器响应代码;result.statusText :服务器响应代码文本,例如ok (状态代码为200 )。result.responseType :响应类型;result.headers :获取所有响应头对象;result.ok() :请求是否正常;result.json() :获取响应文本的json对象;result.xml() :获取响应文本的xml对象;result.blob() :获取响应文本的blob对象;麻省理工学院