xhr.js
1.0.0
xhr.js 是一个使用XMLHttpRequest发出 AJAX/HTTP Restful 请求的库(< 2Kb)。它具有与
Python-requests
类似的 API。
1.安装xhr.js
npm install xhr.js
2.导入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对象;麻省理工学院