xhr.js
1.0.0
xhr.js เป็นไลบรารี (< 2Kb) เพื่อสร้างคำขอ AJAX/HTTP แบบสงบด้วย XMLHttpRequest มันมี API ที่คล้ายกันกับ
Python-requests
1. ติดตั้ง xhr.js
npm install xhr.js
2. นำเข้า xhr.js
รองรับการนำเข้า UMD จากนั้นรับอ็อบเจ็กต์โกลบอล: XHR
import XHR from 'xhr.js' ;
// or
var XHR = require ( "xhr.js" ) ;
หรือลิงก์กับ script
ในไฟล์ html:
< 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 ) ;
} ) ;
API ของอินสแตนซ์ xhr
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)
: ตั้งค่าคำขอ async / syncxhr.url()
: รับ URL คำขอxhr.body()
: รับเนื้อหาคำขอxhr.abort()
: ยกเลิกคำขอxhr.reset()
: รีเซ็ตอินสแตนซ์ xhr เช่น URL, ส่วนหัว, เนื้อความ, เหตุการณ์ คีย์ evnet ใช้สำหรับ API 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()
: รับวัตถุหยดของข้อความตอบกลับเอ็มไอที